|
发表于 2022-5-7 22:30:03
|
显示全部楼层
本楼为最佳答案
我也不知道。
不过你的问题有趣,纯粹想学习学习:
Java- import java.util.Scanner;
- public class Main {
- public static double f(int n) { return (1 / (2. * n - 1)) - (1 / (2. * n)); }
- public static double s(int n) { return n == 1 ? f(n) : f(n) + s(n - 1); }
- public static void main(String[] args) {
- Scanner cin = new Scanner(System.in);
- int num = cin.nextInt();
- System.out.println(s(num));
- }
- }
复制代码
C++- #include <iostream>
- auto f = [](int n) -> double { return (1 / (2. * n - 1)) - (1 / (2. * n)); };
- double s(int n) { return n == 1 ? f(n) : f(n) + s(n - 1); }
- using std::cin, std::cout, std::endl;
- int main(void) {
- int num;
- cin >> num;
- cout << s(num) << endl;
- return 0;
- }
复制代码
Python- f = lambda n: (1 / (2 * n - 1)) - (1 / (2 * n))
- s = lambda n: f(n) if n == 1 else f(n) + s(n - 1)
- if __name__ == "__main__":
- num = int(input())
- print(s(num))
复制代码
C- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- double f(int n) { return (1 / (2. * n - 1)) - (1 / (2. * n)); }
- double s(int n) { return n == 1 ? f(n) : f(n) + s(n - 1); }
- int main(void) {
- int num;
- if(scanf("%d", &num));
- printf("%lf\n", s(num));
- return 0;
- }
复制代码 |
|