题目:一个数如果恰好等于它的因子之和,这个数就称为“完数“。
例如:6=1+2+3.编程找出1000以内的所有完数。
如何找到一个数的所有因子?
- 先来一个从1到小于这个数的循环,如果这个数字%循环次数等于0,那么这个数字就是这个数字的一个因数。
123456789101112131415161718192021 | 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;} |