题目
编写程序,输入一个正整数n,求下列算式的值。要求定义和调用函数fact(k)计算k的阶乘,函数返回值的类型是double。
1+1/2+ .... +1/n!
输出保留5位小数。
输入样例:
5
输出样例:
sum=1.71667
参考解答:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
double sum = 0,temp=0;
for(int i = 1; i <= n; i++) {
temp = 1/fact(i);
sum += temp;
}
System.out.printf("sum=%.5f",sum);
}
public static double fact(int n) {
double sum = 1;
for(int i = 1; i <= n; i++) {
sum*=i;
}
return sum;
}
}