用c语言编写程序输入1000输出1000以内所有的完全数
时间: 2024-11-06 15:15:27 浏览: 22
C语言循环结构程序设计编程题.doc
在C语言中,一个完全数是指它的所有真因数(除了自身以外的正因子)之和等于它本身的整数。下面是一个简单的示例程序,用于找出并打印1000以内的所有完全数:
```c
#include <stdio.h>
// 函数声明,检查是否是完全数
int isPerfect(int num);
int main() {
int i;
printf("寻找1000以内的完全数...\n");
// 循环从1到1000
for (i = 1; i <= 1000; i++) {
if (isPerfect(i)) {
printf("%d 是一个完全数。\n", i);
}
}
return 0;
}
// 完全数检查函数
int isPerfect(int num) {
int sum = 1; // 初始化和为1,因为1总是其自身的因子
for (int i = 2; i * i <= num; i++) { // 只需要检查到√num,避免重复计算
if (num % i == 0) {
sum += i;
// 如果还能继续除尽,则因子还有另一个
if (i != num / i) {
sum += num / i;
}
}
}
// 如果sum等于num,则num是一个完全数
return sum == num;
}
```
阅读全文