编写1000内的完数c语言
时间: 2024-12-12 19:26:12 浏览: 12
在C语言中编写一个程序来找出1000以内所有的完全数(也称为完美数),是指一个正整数的所有真因数(除了本身以外的因子)加起来恰好等于它自身的数。下面是一个简单的示例,展示了如何遍历并检查每个数是否为完全数:
```c
#include <stdio.h>
// 判断是否为完全数的函数
int isPerfect(int num) {
int sum = 1; // 初始化为1,因为1也是所有数的因子
for (int i = 2; i * i <= num; i++) { // 遍历从2到num的平方根,查找因子
if (num % i == 0) {
// 如果找到因子,则将i和num/i加入总和(去除重复)
if (i != num / i)
sum += i + num / i;
else
sum += i;
}
}
return sum == num && num != 1; // 检查sum是否等于num且num不等于1
}
int main() {
int upper_limit = 1000;
printf("1000以内所有的完全数有:\n");
for (int num = 2; num < upper_limit; num++) {
if (isPerfect(num)) {
printf("%d ", num);
}
}
return 0;
}
```
阅读全文