c语言完数问题 请写一个程序,给出指定整数范围[a,b]内的所有完数,0 < a < b < 10000。一个数如果恰好

2025-04-06 18:15:07
推荐回答(1个)
回答1:

#include "stdio.h"

int main(){

int a,b;
int sum = 0;

    scanf("%d%d",&a,&b);

for(int num = a; num <= b; num++){
sum = num;

for(int i = 1; i < num/2+1; i++){  //处理每个数
if(num % i == 0){ //能被i整除
sum -= i;  //减去一个因子
}
}
if(sum == 0){
printf("%d\n",num); //输出完数
}
}

return 0;
}