代码展示(仅供参考):
import java.util.*;
public class Main{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int n = in.nextInt();
double x; //定义一个存放阶乘的容器
double sum=1;
for (int i=n;i>=1;--i){
x = 1.0; //给定初值为1
for(int j=i;j>=1;--j){ //根据题目从1阶乘开始计算
x*=j;
}
sum+= 1.0/ x; //进行阶乘累加求和
}
System.out.printf("%.10f",sum);
}
}
运行结果:
我遇到的问题:
因为题中要求的是精度问题,在做的时候,尽可能的将变量和运算式中值改为精度值