如何编写程序 “100以内所有完数”

如题所述

完全数(Perfect number),又称完美数或完备数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。

#include "stdio.h"
int main()
{
    int sum,k,j;
    sum=0;
    for(k=2;k<=100;k++)//从2开始判断该数是否是完数
    {
        sum=0;
        for(j=1;j<k;j++)//计算所有真因子的和
            if(k%j==0)
                sum=sum+j;
        if(sum==k)//如果该数恰好等于它的所有真因子的和,输出该完数
            printf("%d ",k);
    }
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30

你要啥语言的?这里有个C的

#include "stdio.h"
int main()
{
int sum,k,j;
sum=0;
for(k=2;k<=100;k++)
{
sum=0;
for(j=1;j<k;j++)
if(k%j==0)
sum=sum+j;
if(sum==k)
printf("%5d",k);
}
return 0;
}

本回答被提问者采纳
相似回答