我的求完数的程序,有啥问题?

来源:百度知道 编辑:UC知道 时间:2024/05/05 23:44:38
#include <stdio.h>
main()
{
int i,j,sum=0;
for(i=2;i<=1000;i++)
{for(j=2;j<=i,i++)
if(i%j==0)
sum=sum+j;
if(sum==i)
printf("%d is wanshu",i);
}
}

这个能行,才改的~
#include <stdio.h>
main()
{
int i,j=0;
for(i=2;i<=1000;i++)
{
int sum=0;
for(j=1;j<i;j++)
{
if(i%j==0)
sum=sum+j;

}
if(sum==i){
printf("%d is wanshu",i);
printf("\n");
}
}
}

你看下~每计算一个完数要从0开始相加到目标的最大因子,但是不是它本身,比如6只能加1,2,3,sum就要放在里面初始化,内循环不能小于等于i,只能小于,大概就这些错了~