c语言编程:输入一个整数n,输出n以内的所有完数及其因子
时间: 2024-11-29 07:33:31 浏览: 76
在C语言编程中,完数是指一个正整数的所有真因数(除了它本身以外的因子)之和等于该数本身的数。为了找出给定范围内的完数以及它们的因子,你可以编写一个程序来遍历并检查每个数字是否是完数。以下是简单的步骤:
1. 定义一个函数 `isPerfectNumber`,接收一个整数 `num` 作为参数,计算从1到 `num-1` 的所有因子之和,如果这个和等于 `num`,则返回 `true`,表示它是完数;否则,返回 `false`。
```c
int isPerfectNumber(int num) {
int sum = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
return sum == num;
}
```
2. 主函数中,循环从1开始到用户输入的整数 `n`,对于每一个数,如果它是完数,则打印出该数及其因子。
```c
#include <stdio.h>
int main() {
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
if (isPerfectNumber(i)) {
printf("Number %d is a perfect number with factors:\n", i);
for (int j = 1; j <= i; j++) {
if (i % j == 0) {
printf("%d ", j); // 输出因子
}
}
printf("\n");
}
}
return 0;
}
```
阅读全文
相关推荐


















