C语言中的fun函数求解,很简单的

2024-12-18 02:45:05
推荐回答(3个)
回答1:

输出结果:

输出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);
}

回答2:

#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);
}

回答3:

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;
}