如何用C语言编程来列出1000以内所有的完全数,每个输出五个一组?
时间: 2024-12-22 14:24:24 浏览: 4
在C语言中,我们可以创建一个循环来检查并打印出1到1000之间的每一个数是否为完全数,然后每打印出五个就换行。下面是一个简单的示例代码:
```c
#include <stdio.h>
// 辅助函数,用于计算给定数的因子之和
int sum_of_factors(int n) {
int i, sum = 1;
for(i = 2; i * i <= n; i++) {
if(n % i == 0) {
// 如果i是n的一个因子,那么它的另一个因子就是n/i
if(i != n / i)
sum += i + n / i;
else
sum += i;
}
}
return sum;
}
int main() {
int num, count = 0;
for(num = 1; num <= 1000 && count < 5; num++) {
if(sum_of_factors(num) == num) {
printf("%d ", num);
count++;
// 每打印五个数换行
if(count % 5 == 0)
printf("\n");
}
}
return 0;
}
```
这个程序会逐个检查1000内的数,如果某个数是完全数(即它的因子和等于自身),则打印出来,并在打印出五个数后换行。
阅读全文