用c语言编写出2到10000之间的完全数

如题所述

思路:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。如果一个数恰好等于它的因子之和,则称该数为“完全数”。先定义一个函数用于判断一个数是否是完数,接着依次从2到10000循环判断。

参考代码:

#include <stdio.h>
int fun(int n){//判断n是否是完数 
int i,sum=0;
for(i=1;i<n;i++)
if(n%i==0) sum+=i;
if(sum==i) return 1;
return 0;

int main ()
{
int i;
for(i=2;i<10000;i++)
if(fun(i))
printf("%d ",i);
return 0; 
}
/*
运行结果:
6 28 496 8128
*/
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-14
#include <stdio.h>

int main()
{
int i,j;
int num = 0;
for(i = 2; i < 10000; i++)
{
num = 0;
for(j = 1; j < i; j++)
{
if(i%j == 0)
{
num+=j;
}
}

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

return 0;
}

楼主试试本回答被网友采纳
相似回答