输出任意两个数之间的完数。c语言
时间: 2024-09-29 17:04:01 浏览: 36
在C语言中,完数(Perfect Number)是指一个数的所有真因数(除了它本身以外的正因子)加起来等于这个数本身的数。例如,6是一个完数,因为它的真因数(1、2、3)相加得到6。
下面是一个简单的C程序,用于找出给定范围内的完数:
```c
#include <stdio.h>
int isPerfect(int num) {
int sum = 0;
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) { // 如果i是num的因数
sum += i;
}
}
return sum == num; // 如果sum等于num,则返回1,表示它是完数;否则返回0
}
void findPerfectNumbersInRange(int start, int end) {
for (int i = start; i <= end; i++) {
if (isPerfect(i)) {
printf("%d 是一个完数。\n", i);
}
}
}
int main() {
int range_start = 输入起始数值; // 用户输入范围开始值
int range_end = 输入结束数值; // 用户输入范围结束值
findPerfectNumbersInRange(range_start, range_end);
return 0;
}
```
在这个程序中,`isPerfect`函数检查一个数是否是完数,而`findPerfectNumbersInRange`函数遍历指定范围并打印出所有的完数。
阅读全文