1 到 1000 之间的完美数
Perfect Number between 1 and 1000
我试图找到 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
[=19=的初始化) ]进入 for
循环。此外,您需要在内循环中测试 <=
。像,
for (int n = 1; n < 1000; n++) {
int sum = 0;
for (int j = 1; j <= n / 2; j++) {
然后我得到 496
。
我试图找到 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
[=19=的初始化) ]进入 for
循环。此外,您需要在内循环中测试 <=
。像,
for (int n = 1; n < 1000; n++) {
int sum = 0;
for (int j = 1; j <= n / 2; j++) {
然后我得到 496
。