正确的
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);
}
}
}
}
错误的
sum应该放在第二个for循环前面,因为最外层每循环一次,sum就要被清零,才能得出结果;放在外面ssum的值就会一直加,外循环一次它就加一遍,永远没有等于本身的值。
标签:01,int,sum,System,循环,清零,public,刷题 From: https://blog.51cto.com/u_15742597/5885162