输出100-2000之间的完全数

天涯浪子 提交于 2020-02-02 21:49:13

输出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);
}

运行结果

在这里插入图片描述

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!