c语言输出一定范围内的完数
时间: 2024-12-20 08:22:19 浏览: 41
在C语言中,完数也称为完美数,是指一个数的所有真因子(除了自身以外的因数)加起来等于它自身的数。例如6是一个完数,因为它的真因子有1、2和3,它们相加得到6。
下面是一个简单的C程序,用于找出并打印给定范围内的所有完数:
```c
#include <stdio.h>
// 定义函数检查是否是完数
int isPerfect(int num) {
int sum = 0;
for (int i = 1; i * i <= num; i++) {
if (num % i == 0) {
// 如果i是因子,那么i和num/i也是因子
if (i * i != num)
sum += i + num / i;
else
sum += i;
}
}
return sum == num;
}
int main() {
int start = 1; // 开始查找的范围下限,可以根据需要调整
int end = 100; // 结束查找的范围上限
printf("完美数在%d到%d之间的有:\n", start, end);
for (int num = start; num <= end; num++) {
if (isPerfect(num))
printf("%d ", num);
}
return 0;
}
```
这个程序首先定义了一个`isPerfect`函数来检查一个数是否是完数,然后在主函数中遍历指定范围内的每个数字,并通过调用`isPerfect`函数判断其是否为完数。
阅读全文