我们先看什么是完数:
一个数除了它本身以外的所有因数和等于它本身,那么这个数就是完数。
6是一个完数,它的因数为1,2,3,6,把6去掉,其余因数和等于6。
案例代码如下
#include <stdio.h>
int main(){
int i,j;
int sum=0;
for(i=1;i<=1000;i++){ //求1000以内的完数
for(j=1;j<i;j++){
if(i%j==0){//求除了i自身以外的所有因数
sum+=j;//求除了i自身以外的所有因数的和
}
}
if(sum==i){//如果i除了自身以外的所有因数的和等于其本身,它就是完数
printf("%d是完数\n",i);
}
sum=0;//循环完一轮以后,sum重新赋值为0
}
}
代码运行结果如下