1.问题描述: 如题目
2.问题分析:
解决这个问题得用两个循环,一个循环控制是几的阶乘,一个用来控制累加,我们编写一个方法来实现一个循环,在主方法里实现一个循环,还需要注意的一点就是除法会存在精度问题,要把数据定义为浮点数,防止精度损失。
public class Hello{
public static void main(String[] args){
int n=20;
double sum=0.0;
for(int i=n;i>0;i--){
sum=sum+1/digit(i);
}
System.out.println(sum+1);
}
}
public static double digit(int x)
{
double num=1.0;
for(int i=x;i>0;i--)
{
num=num*i;
}
return num;
}
}