完数(C++)

完数

【问题描述】

一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如, 6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:6,its factors are 1,2,3

【示例代码】

#include<iostream>
using namespace std;
void wan_shu(int m)
{
    int result=0;
    for(int i=1;i<=m/2;i++)
    {
        if(m%i==0) {result=result+i;}
    }
    if(result==m)
    {
        cout<<m<<",its factors are ";
        for(int i=1;i<m;i++)
        {
            if(i==m/2) {cout<<i<<endl;}
            else if(m%i==0)
            {
                cout<<i<<",";
            }
        }
    }
}
int main()
{
    for(int i=1;i<=1000;i++)
    {
        wan_shu(i);
    }
    return 0;
}

发布了13 篇原创文章 · 获赞 0 · 访问量 115

猜你喜欢

转载自blog.csdn.net/qq_45909595/article/details/104089732