打印本文 打印本文  关闭窗口 关闭窗口  
C趣味程序百例(07)完全数
作者:佚名  文章来源:不详  点击数  更新时间:2008/4/18 13:59:21  文章录入:杜斌  责任编辑:杜斌

24.完全数
    如果一个数恰好等于它的因子之和,则称该数为“完全数”。
*题目分析与算法设计
    根据完全数的定义,先计算所选取的整数a(a的取值1~1000)的因子,将各因子累加于m,若m等于a,则可确认a为完全数。
*程序说明与注释
#include<stdio.h>
void main()
{
    int a,i,m;
    printf("There are following perfect numbers smaller than 1000:\n");
    for(a=1;a<1000;a++)      /*循环控制选取1~1000中的各数进行判断*/
    {
        for(m=0,i=1;i<=a/2;i++)   /*计算a的因子,并将各因子之和m=a,则a是完全数输出*/
            if(!(a%i))m+=i;
        if(m==a)
            printf("%4d    ",a);
    }
    printf("\n");
}
*运行结果
    TThere are following perfect numbers smaller than 1000:
    6        28        496
打印本文 打印本文  关闭窗口 关闭窗口