刷题01

时间:2022-11-24 22:59:21

刷题01

正确的

public class Demo {
public static void main(String[] args) {

for (int i = 2;i < 1000;i++){
int sum = 0;
for (int a = 1;a <= i/2;a++){
if(i % a == 0){
sum += a;
}
}if (i == sum){
System.out.println(i);
}
}
}
}

错误的

刷题01

sum应该放在第二个for循环前面,因为最外层每循环一次,sum就要被清零,才能得出结果;放在外面ssum的值就会一直加,外循环一次它就加一遍,永远没有等于本身的值。