本题要求实现一个计算整数因子和的函数,并利用其实现另一个函数,输出两个正整数m和n(0<m≤n≤10000)之间的所有完数。 所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。,C语言代码
时间: 2023-11-02 21:37:29 浏览: 230
C语言程序设计-计算并输出给定整数n的所有因子之和(不包括1与自身);注意:n的值不大于1000.c
5星 · 资源好评率100%
#include <stdio.h>
//计算整数因子和
int factor_sum(int num){
int sum = 0;
for(int i = 1; i < num; i++){
if(num % i == 0){
sum += i;
}
}
return sum;
}
//输出区间内的完数
void perfect_num(int m, int n){
for(int i = m; i <= n; i++){
if(i == factor_sum(i)){
printf("%d ", i);
}
}
}
int main(){
int m, n;
printf("请输入区间[m,n]: ");
scanf("%d %d", &m, &n);
printf("区间[%d,%d]内的完数为: ", m, n);
perfect_num(m, n);
return 0;
}
阅读全文