题目要求输出1000以内的全部“完数”,要求每行输出5个,并统计完数的个数。一个数如果恰好等于它的因子之和,则称该数为“完数”。用C语言程序
时间: 2023-07-16 13:15:01 浏览: 123
C语言程序设计-计算并输出给定整数n的所有因子之和(不包括1与自身);注意:n的值不大于1000.c
5星 · 资源好评率100%
以下是用 C 语言编写的求 1000 以内的完数的程序:
```c
#include <stdio.h>
int main() {
int i, j, sum, count = 0;
// 遍历 1~1000 的每个数
for (i = 1; i <= 1000; i++) {
sum = 0;
// 求 i 的因子并累加
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
// 判断 i 是否为完数并输出
if (sum == i) {
printf("%d ", i);
count++;
// 每行输出 5 个数
if (count % 5 == 0) {
printf("\n");
}
}
}
// 输出完数的个数
printf("\n共有 %d 个完数\n", count);
return 0;
}
```
运行结果如下:
```
6 28 496
共有 3 个完数
```
其中,6、28 和 496 都是 1000 以内的完数,共有 3 个完数。每行输出 5 个数,方便观察。
阅读全文