求正整数m,n间的所有完全数

版权声明:如果是我原创的文章,请转载时,注明是来自我的转帖,加上我帖子的地址。谢谢! https://blog.csdn.net/mengdicfm/article/details/82718835

问题描述:
一个正整数如果恰好等于它的所有因子之和,这个数就称为“完全数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是完全数。编程找出m和n之间(包括m和n)的所有完全数。
输入格式:
一行两个正整数m和n,0<m<n<=10000
输出格式:
若干行,每行一个正整数,表示所有的完全数,按从小到大的顺序输出。
样例输入:
4 30
样例输出:
6
28

#include<iostream>
using namespace std;
int main() 
{
int m,n,k,sum=0;
cin>>m>>n;
for(int i=m;i<=n;i++)
{
sum=0;
for(int j=1;j<=i/2;j++)
{
if(i%j==0)
sum=sum+j;
}
if(sum==i)
cout<<i<<endl;
}
    return 0;
}

猜你喜欢

转载自blog.csdn.net/mengdicfm/article/details/82718835