用C语言编程2~10000中得所有完数

如题所述

#include <stdio.h>
void main()
{int i,j,k,s;
for(i=2;i<=10000;i++)
{s=0;
for(j=1;j<i;j++)
if(i%j==0) s=s+j;
if(s==i)
{printf("%d 的因子是",i);
for(k=1;k<i;k++)
if(i%k==0) printf("%d\n,",k);
}
}
getch();
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-22
#include<stdio.h>
int main()
{
int n=10000;
int r,j,i;
for(i=2;i<=n;i++)
{
r=0;
for(j=1;j<i;j++)
if(i%j==0) r=r+j;
if(r==i) printf("%d ",i);
}
return 0;
}
第2个回答  2011-10-22
#include <stdio.h>   
int main() {   
  int r,j,i;  
for(i=2;i<10000; i++){   
r = 0;   
for(j=1;j<i;j++) 
if(i%j == 0) r = r + j;     
if(r == i) printf("the result is:%d\n",r);   
  }   
return 0;   
}
相似回答