C语言——完数

题目:

求m - n之间存在的完数。
完数:除自身外的因子只和等于自身。例如 6 = 1 + 2 + 3、

思路:

  一层循环是在m - n之间的循环。然后对于内部我们针对每个数X,我们再用一层循环来寻找他们的因子,相加判断与X是否相同。

伪代码:

int main()
{
    cin>>m>>n;//先输入m和n。
    int ds , sum;//ds是因子,sum是每个数因子的和

    for(X=m;X<n;++X)
    {
        for(j=1;j<X;++j)
        {
            if(X%j==0)
            {
                sum+=j;
            }
        }
        if(sum == X)
        {
            cout<<X<<endl;
        }
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/genzld/article/details/83859523