一个数如果恰好等于它的因子之和

时间:2025-03-11 05:24:10 单机游戏

一个数如果恰好等于它的因子之和,则称该数为 完全数(Perfect number)。完全数是一种特殊的自然数,它等于其所有真因子(即除了自身以外的约数)之和。例如,6 的真因子是 1、2 和 3,而 1 + 2 + 3 = 6,所以 6 是一个完全数。

要判断一个数是否为完全数,可以遵循以下步骤:

1. 找出该数的所有真因子(即除了自身以外的约数)。

2. 将这些真因子相加。

3. 检查相加的结果是否等于原数。

如果等于原数,则该数是一个完全数;否则,它不是完全数。

```c

include

int main() {

int i, j, n, s;

for (i = 1; i < 1000; i++) {

n = 0;

s = i;

for (j = 1; j < i; j++) {

if (i % j == 0) {

n++;

s = s - j;

}

}

if (s == 0) {

printf("%d is a perfect number: ", i);

for (j = 1; j <= n; j++) {

printf("%d, ", j);

}

printf("\n");

}

}

return 0;

}

```

运行这个程序,将会输出 1000 以内的所有完全数及其因子。