【发布时间】:2015-12-25 01:17:40
【问题描述】:
我试图找到 1 到 1000 之间的完美数字,我写了这段代码,但它没有用! 怎么了?
public class Perfect {
public static void main(String[]args) {
int sum=0;
for (int n = 1; n < 1000; n++) {
for (int j = 1; j < n/2 ; j++) {
if (n % j == 0)
sum = sum + j;
}
if (sum == n) {
System.out.println(sum);
}
}
}
}
【问题讨论】:
-
什么不起作用?
-
您永远不会重置
sum的值,因此在每次迭代时它都会从之前的值开始。 -
从一开始你的条件
j < n/2就不会是真的
标签: java perfect-numbers