代码展示(仅供参考):
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); }}
运行结果:
我遇到的问题:
因为题中要求的是精度问题,在做的时候,尽可能的将变量和运算式中值改为精度值