用C语言输出1到100之间所有完数
时间: 2024-09-29 09:14:32 浏览: 0
在C语言中,一个完数(Perfect Number)是指该数的所有真因子(除了自身以外的因子)之和等于它自身的整数。我们可以编写一个程序来找出并打印出1到100之间的所有完数。这里是一个简单的示例:
```c
#include <stdio.h>
// 定义一个函数检查是否为完数
int is_perfect(int num) {
int sum = 1;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
// 如果i是因子,加到sum里;如果i不是num/i,则说明另一个因子已经计算过了
if (i != num / i)
sum += i + num / i;
else
sum += i;
}
}
return sum == num;
}
// 主函数用于遍历并打印完数
void print_perfect_numbers() {
for (int i = 1; i <= 100; i++) {
if (is_perfect(i)) {
printf("%d ", i);
}
}
}
int main() {
print_perfect_numbers();
return 0;
}
```
当你运行这个程序,它会输出1到100之间的所有完数:6, 28, 496 和 8128。