0%

找到1000以内的完数

文章时效性提示

本文发布于 499 天前,部分信息可能已经改变,请注意甄别。

题目:一个数如果恰好等于它的因子之和,这个数就称为“完数“。
例如:6=1+2+3.编程找出1000以内的所有完数。

如何找到一个数的所有因子?

  • 先来一个从1到小于这个数的循环,如果这个数字%循环次数等于0,那么这个数字就是这个数字的一个因数。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
int main()
{
    int Num;
    for (Num=1; Num<=1000; Num++)
    {
        int j;
        int sum=0;
        for (j=1; j<Num; j++)
        {
            if (Num%j==0)
            {
                sum = sum + j;
            }
        }
        if (sum == Num) {
            printf("%d ",Num);
        }
    }
    return 0;
}