第1个回答 2010-06-23
#include<stdio.h>
#include<math.h>
int fun(int n)
{
int sum=0,i;
for(i=1;i<=sqrt(n);i++)
if(n%i==0) sum+=i+n/i;
if((int)sqrt(n)*(int)sqrt(n)==n)
sum-=sqrt(n);
if(sum-n==n)
return 1;
return 0;
}
void main()
{
int i;
for(i=2;i<1001;i++) if(fun(i)) printf("%d\n",i);
}本回答被提问者和网友采纳