c语言,求出1000以内的所有完数(一个数恰好等于其因子之和,例,6=1+2+3) 我的程序算不出,求帮忙看看

#include<stdio.h>
void main(void)
{
int i,j;
int sum=0;
for(i=2;i<1000;i++)
{ for(j=1;j<i;j++)
{
if(i%j==0)
sum+=j;
if(j==(i-1)&&sum==i)
printf("%d\n",i);

}

}

}

第1个回答  2016-12-07
#include<stdio.h>
int main()
{
int i,n,sum;//
for(n=1;n<=1000;n++)
{
sum=0;
for(i=1;i<n;i++)
{
if(n%i==0)
{sum=sum+i;}
//if(sum==n)
//{printf("%4d",n);}
}
if(sum==n)
{printf("%4d",n);}
}
return 0;
}
第2个回答  2016-12-07
#include<stdio.h>
int main(void)
{
int i,j,sum=0;
    for(i=2;i<1000;i++)
{  
sum=0;
for(j=1;j<i;j++)
      {
                if(i%j==0)
             sum+=j;

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

}
return 0;
}

本回答被提问者采纳
相似回答