完美数

 

Time Limit: 1 Sec  Memory Limit: 128 MB

 

Submit: 123  Solved: 26
原题链接

 

Description

任何一个自然数的约数中都有1和它本身,我们把小于它本身的因数叫做这个自然数的真约数。 如6的所有真约数是1、2、3,而且6=1+2+3。像这样,一个数所有真约数的和正好等于这个数,通常把这个数叫做完美数。 古希腊人非常重视完美数。毕达哥拉斯发现它之后,人们就开始了对完美数的研究。 现在要求输出所有在m和n范围内的完美数。

Input

输入只有一行,是两个整数,(2<=m<=n<=32767),中间用空格隔开。

Output

输出范围内的所有完全数,数与数之间用空格隔开。

Sample Input

2 10

Sample Output

6

HINT

 

Source

 
#include<iostream>
using namespace std;
main()
{
    long int m,n;
    cin>>m>>n;
    if(n>=10000)
    {n=10000;}
    for(int i=m;i<=n;i++)
    {
        int sum=0;
        for(int j=1;j<i;j++)
        {
            if(i%j==0)
            {sum+=j;}
        }
        
        if(sum==i)cout<<i<<" ";
        
    }
}

 

posted @ 2017-03-17 15:39  dearvee  阅读(448)  评论(0编辑  收藏  举报