|  | 
 
 发表于 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;
}
 | 
 |