计算的是1+1/2!+...+1/20!
程序如下:
double sum = 0,a = 1;
int i = 1;
while(i<=20)
{ sum = sum+a;
i++;
a = a*(1.0/i); //问题就在这里,为什么一定要用(1.0/i)而不是(1/i)?为什
么当为(1/i)时,最后运行结果为1?
}
System.out.println(sum);
}
阶乘
------解决方案--------------------
因为1是int类型,那么1/i也是int类型,且结果为0,所以结果就只有最初的a,以我的知识是这样理解,不一定正确
------解决方案--------------------
1.0默认是double吧,float类型不是要在末尾加f或F吗
------解决方案--------------------
我了个去,糊涂了,是double
------解决方案--------------------
用1.0将使算出的结果为浮点型,用1则是整形忽略小数点