java吧 关注:1,235,381贴子:12,705,196
  • 2回复贴,共1

求大神解答 循环问题

只看楼主收藏回复

public static void main(String[]args){
int a;
for(int x=1;x<1000;x++){
a=0;
for(int i=1;i<x;i++){
if(x%i==0){
a=a+i;
if(a==x){System.out.println();
System.out.print(x+"是完数");
}
}
}
}
System.out.println();
}
}
这个题是求100内所有完数,求出来有6,24,28,496
多了多24 求大神告知怎么解决这个问题


1楼2015-12-09 14:57回复
    把if(a==x)的判断放到第二个for循环外面。
    你这个计算出来的不是所有的非本身因数之和
    24=1+2+3+4+6+8,
    然而24的因子还有12


    IP属地:北京来自Android客户端2楼2015-12-09 15:13
    回复
      谢谢


      3楼2015-12-09 19:48
      回复