完数的概念:完数(Perfect Number)是一个正整数,它等于除了它本身以外所有正因子之和。例如,6的因子有1、2、3和6,其中1+2+3=6,所以6是一个完数。
#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;
}