8-1 C语言程序设计1A 实验一 求完数
时间: 2024-12-12 11:19:21 浏览: 18
在C语言程序设计中,实验一的目的是让你熟悉基本的数据结构和算法,其中涉及到求完数的问题。完数是指一个正整数的所有真因数(除了自身以外的因子)之和正好等于它本身的数。例如,6是一个完数,因为1 + 2 + 3 = 6。
在C语言中,你可以通过遍历从1到某个给定数字n的所有数,然后检查每个数是否是它的所有真因数之和,如果是,则认为它是完数。这个过程需要两个函数:一个用于找出一个数的所有因数,另一个用于判断是否为完数。
下面是一个简单的示例代码:
```c
#include <stdio.h>
// 函数来计算所有因数
int factors(int n) {
int sum = 0;
for (int i = 1; i <= n / 2; ++i) {
if (n % i == 0) {
sum += i;
}
}
return sum;
}
// 判断是否为完数
int isPerfectNumber(int num) {
return factors(num) == num;
}
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
if (isPerfectNumber(n)) {
printf("%d 是一个完数\n", n);
} else {
printf("%d 不是完数\n", n);
}
return 0;
}
```
阅读全文