C语言实现1到n完数的求解
本程序使用C语言编写,目标是求1到n范围内的完数。完数是指其所有真因数之和等于它本身的数(例如:6的真因数是1, 2, 3,1+2+3=6)。程序结构简洁易懂,适合C语言初学者学习。
完数的定义
完数是一个自然数,等于它的所有真因数之和。例如,6是一个完数,因为它的真因数是1、2、3,1+2+3=6。
C语言代码实现
#include
int sum_of_factors(int num) {
int sum = 0;
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) {
sum += i;
}
}
return sum;
}
int main() {
int n;
printf("请输入n的值:");
scanf("%d", &n);
printf("1到%d的完数有:
", n);
for (int i = 1; i <= n; i++) {
if (sum_of_factors(i) == i) {
printf("%d
", i);
}
}
return 0;
}
代码说明
sum_of_factors
函数用于计算某个数的真因数之和。- 在
main
函数中,通过遍历1到n,调用sum_of_factors
判断是否为完数。
程序可以输出1到n范围内所有的完数,帮助C语言初学者更好地理解完数的概念和如何编写简单的算法。
1.25KB
文件大小:
评论区