输出结果:
输出2-1000之间的完数: 6 28 496
代码:
#include
int fun(int x)
{
int i,j=0;
int m=x/2+1;
for(i=1;i{
if( (x % i) == 0)
j += i;
}
if(j == x)
return 1;
else
return 0;
}
main()
{
int i;
printf("输出2-1000之间的完数: ");
for(i=2;i<1000;i++)
if(fun(i))
printf("%5d",i);
}
#include
int fun(int x)
{
int i = 1,sum = 0;
for(i=1;i{
if(x%i==0)//余数为0表示可以整除
sum += i;
}
if(sum==x)
return 1;
return 0;
}
void main()
{
int i;
printf("输出2-1000之间的完数:");
for(i=2;i<1000;i++)
if(fun(i))
printf("%5d",i);
}
int fun(int x)
{
int temp = 0;;
for (int i=1;i< m;++i)
{
if(m%i == 0)//求所有非本身约数的和
temp += i;
}
return temp == m? 1:0;
}