一个数如果怡好等于它的因子之和,这个数就称为完数。例如,6 的因子为1.2、3,而 6=1+2+3,因此,6是完数。编程找出 正整数n之内的所有完数。c语言
时间: 2024-05-13 18:18:50 浏览: 95
数的因子之和的问题
以下是使用 C 语言编写的程序,用于查找正整数 n 内的所有完数:
```c
#include <stdio.h>
int main() {
int n, i, j, sum;
printf("请输入一个正整数 n:");
scanf("%d", &n);
printf("1~%d 内的所有完数为:\n", n);
for (i = 1; i <= n; i++) {
sum = 0;
for (j = 1; j <= i / 2; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d ", i);
}
}
return 0;
}
```
程序先提示用户输入一个正整数 n,然后使用两个 for 循环遍历 1 到 n 之间的所有正整数。对于每个数 i,内部的循环计算 i 的因子之和,并将其与 i 进行比较。如果它们相等,则打印出 i,表示 i 是一个完数。
阅读全文