找到1000以内的完数

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

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

  • 先来一个从1到小于这个数的循环,如果这个数字%循环次数等于0,那么这个数字就是这个数字的一个因数。
123456789101112131415161718192021
#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;}
🔍 ×