BonnieLLLL
2017-04-04 19:45

求解答
public static void main(String[] args) {
int i,a,b=0;
for(i=2;i<1000;i++){
for(a=1;a<i;a++){
if(i%a==0){
b=a+b;
}
}
if(i==b){
System.out.println(i);
}
b=0;
}这个是我做的。唯一不同的就是12行,将b重置为0
可以这样理解你的意思,b是作为i的真因子a的和。那么经过一轮,b不是应该重新从0开始吗?
在你的代码里,之所以没有反应是因为一直没有相等的情况,所以不输出。
我这个的结果你看一下~

Java入门第一季(IDEA工具)
1168099 学习 · 18754 问题
相似问题