常规思路:
public class Test {
public static void main(String[] args) {
double result = 0;
int count = 20;
for (int i = 1; i <= count; i++) {
double divisor = 1;
for (int j = 1; j <= i; j++) {
divisor = divisor * j;
}
result += 1 / divisor;
}
System.out.println(result);
}
}
你的代码语法上还有很多问题,编译就会有有几处报错。思路看起来是对的,但是逻辑没有把握好
参考一下别人的代码
public class Example3_6 {
public static void main(String[] args) {
double sum = 0,item = 1;
int i = 1,n = 20;
while(i<=n) {
sum = sum+item;
i = i+1;
item = item*(1.0/i);
}
System.out.println("sum="+sum);
}
}
————————————————
版权声明:本文为CSDN博主「jiehaoxiang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40956679/article/details/80714515
public static void main(String[] args) {
double sum = 0;
double item = 1;
for (int i = 1; i <= 20; i++) {
item *= (1.0 / i); // 累乘
sum += item; // 累加
}
System.out.println(sum);
}
————————————————
版权声明:本文为CSDN博主「星星梦工厂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50818915/article/details/113184013
整体思路是对的
还有注意代码规范,我这里提供一份你的思路修改完之后的,你参考