c语言一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子是1,2,3,而6=1+2+3,因此6为完数。编程序找出1000之内所有的完数,并按下列格式输出其因子:6 its factors are 1,2,3
时间: 2023-06-27 09:06:09 浏览: 76
以下是求解1000以内完数的C语言程序:
```c
#include <stdio.h>
int main()
{
int i, j, sum;
printf("Perfect numbers between 1 and 1000:\n");
for (i = 1; i <= 1000; i++) {
sum = 0;
for (j = 1; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
printf("%d its factors are ", i);
for (j = 1; j < i; j++) {
if (i % j == 0) {
printf("%d, ", j);
}
}
printf("\n");
}
}
return 0;
}
```
输出结果:
```
Perfect numbers between 1 and 1000:
6 its factors are 1, 2, 3,
28 its factors are 1, 2, 4, 7, 14,
496 its factors are 1, 2, 4, 8, 16, 31, 62, 124, 248,
```
程序思路:
- 遍历1到1000之间的每个整数。
- 对于每个整数,求出它的因子之和。
- 如果因子之和等于该整数本身,则输出该整数及其因子。
阅读全文