问题:求区间内所有的完数;
如果一个数刚好等于这个数因子的和,那么这个数就叫做完数;
例如: 6 = 1 + 2 + 3
#include<stdio.h>
int wanshu(int a);
int wanshu(int a){
int i;
int sum = 0; //每次判断新的值先赋0
for(i = 1;i<a;i++){
if(a % i == 0){
sum += i; //是因子累加
}
}
if(sum == a){ //若成立则返回1
return 1;
}else{
return 0;
}
}
int main(void){
int j;
for(j = 1;j<=1000;j++){
if(wanshu(j)){
printf("%d是完数\n",j);
}
}
return 0;
}