C语言:求1000以内的完全数。一个整数如果正好等于它的因子之和(自身除外),则称该数是完全数。如

C语言:求1000以内的完全数。一个整数如果正好等于它的因子之和(自身除外),则称该数是完全数。如6=1+2+3,所以6是完全数。

第1个回答  2016-06-20
#include "stdio.h"
#include"math.h"

//判断是否是完全数
int isWangQuang(int n);

int main(void)
{
int i;
for(i=0;i<=1000;i++)
{
if(isWangQuang(i))
printf("%d,",i);
}
printf("\n");
}
//判断是否是完全数
int isWangQuang(int n)
{
int i;
int sum=1;

if(n==1)
return 0;

for(i=2;i<sqrt(n);i++)
{
if(n%i==0)
sum+=(i+n/i);
}

return sum==n;
}

就三个,6,28,496

本回答被提问者和网友采纳
相似回答