寻找完数(它等于除它本身以外的所有因子之和)
完数(Perfect Number)
是一个正整数,它等于除了它本身以外所有正因子之和。
例如,6的因子有1、2、3和6,其中1+2+3=6,所以6是一个完数。
#include<stdio.h>
int main(){
printf("10000以内的完数:\n");
//假设找10000以内的完数
for(int i = 1; i <= 10000; i ++){
if(i == CalTotalSum(i)){
printf("%-5d", i);
//if(i % 10 == 0) printf("\n");
}
}
return 0;
}
//计算一个数的所有正因子之和
int CalTotalSum(int num){
int sum = 0;
for(int i = 1; i < num; i ++){
if(num % i == 0){
sum += i;
}
}
return sum;
}