试题 算法训练 求1000以内的完数
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,则称之为“完数”。例如6的因子是1,2,3,且6=1+2+3,因此6是完数。编写程序找出1000之内的所有完数。注意1不是完数。
输入格式
无
输出格式
如有多个完数,则分行输出,每行输出一个完数。(注意,不要输出其他任何多余字符)
#include<iostream>
using namespace std;
int main(){
for(int i=2;i<=1000;i++){
int sum=0;
for(int j=1;j<i;j++){
if(i%j==0){
sum+=j;
}
}
if(sum==i){
cout<<i<<endl;
}
}
return 0;
}