完数的概念:完数(Perfect Number)是一个正整数,它等于除了它本身以外所有正因子之和。例如,6的因子有1、2、3和6,其中1+2+3=6,所以6是一个完数。
c
#include <stdio.h>
// 函数用于计算一个数的所有正因子之和
int sum_of_divisors(int n) {
int sum = 0;
for (int i = 1; i < n; i++) {
if (n % i == 0) { //余数为0,代表是当前i是n的因子
sum += i; //把所有因子求和
}
}
return sum;
}
int main() {
// 遍历1到1000的所有整数
for (int n = 1; n <= 1000; n++) {
// 计算n的所有正因子之和
int sum = sum_of_divisors(n);
// 判断如果和sum等于n,则n是完数
if (sum == n) {
printf("%d ", n);
}
}
printf("\n");
return 0;
}