C语言学习与进阶

找出1000以内的完数

2016-10-17  本文已影响140人  PZcoder
如果一个数恰好等于它的因子之和,这个数就称为”完数”.
例如,6的因子为 1,2,3 而 6 = 1+2+3 ,因此6是完数.

编程找出1000以内所有的完数,并按照下面的格式输出其因子:
6 = 1+2+3

for (int i = 2; i < 1000; i ++)
{
    int sum = 0;
    
    for (int j = 1; j < i; j ++)
    {
        if (i % j == 0)
        {
            sum += j;
        }
    }
    
    if (sum == i)
    {
        printf("\n%d=1",i);
        
        for (int k = 2; k < i; k ++)
        {
            if (i % k == 0)
            {
                printf("+%d",k);
            }
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读