会长和篮朋友 2022-10-06 01:28 采纳率: 100%
浏览 161
已结题

编写程序找出1000以内完数,并按格式输出

img

编写程序找出1000以内的完数,并按以下格式输出其因子:6,it's factors are 1,2,3
程序运行起来达不到效果是什么原因?
初学者求赐教,万分感谢

  • 写回答

4条回答 默认 最新

  • 心寒丶 优质创作者: 编程框架技术领域 2022-10-06 09:27
    关注

    img

    #include<iostream>
    using namespace std;
    int main()
    {
        int s;
        cout<<"1000以内完数有"<<'\n';   //若一个数等于其因数之和,则为完数
        for(int i=1;i<=1000;i++)
        {
            s=0;                       //s值初始化
            for(int j=1;j<i;j++)       //求一个数的因数,若是则累加到s
            {
                if(i%j==0) {             //判断此时的j是否为i的因子
                s+=j;
                }
            }
            if(s==i){
                cout<<s<<",it's factors are"<<'\t';
                 for(int k=1;k<i;k++)
            {
                if(i%k==0)
                       cout<<k<<'\t';
            }
            cout<<"\n";
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 10月14日
  • 已采纳回答 10月6日
  • 创建了问题 10月6日