输出100-2000之间的完全数
思路
- 完全数=除本身外各因子的和;例 6=1+2+3;
- 第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。
代码实现
int main()
{
int j,i,s,count=0;
for(i=100;i<=2000;i++){
s=1; //每次循环s需要重新赋值,否则s会一直累加
for(j=2;j<i;j++){
if(i%j==0)
s=s+j;
}
if(s==i){
printf("s:%d i:%d\n",s,i);
count++;
}
}
printf("完全数的个数:%d",count);
}
运行结果
来源:CSDN
作者:西装Baby
链接:https://blog.csdn.net/qq_20185737/article/details/104145778