题目描述
完数的定义:除自身外的因子之和等于它本身。(例如: 6=1+2+36=1+2+3 )。
已知正整数 n 和 k ,请编程输出 [n,k] 之间的所有完数。
输入格式
两个正整数 n , k ,表示区间端点;
输出格式
一行,表示 �n 到 �k 之间的所有完数(两个数之间用空格隔开);
样例输入
1 1000
样例输出
6 28 496
样例分析
如上所述。
数据范围
100%100% 的数据:1≤n<k<5000;
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k;
cin>>n>>k;
for(int i=n;i<=k;i++)
{
int sum=0;
for(int j=1;j<i;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
cout<<sum<<" ";
}
}
return 0;
}