题目描述
一个数如果恰好等于不包含它本身所有因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,
因此6是"完数"。
编程序找出N之内的所有完数。
#include<iostream>
using namespace std;
int main(){
int m;
cin>>m;
for(int n=1;n<m;n++){
int sum=0,j=0,a[100]={0},num=1;
for(int i=1;i<n;i++){
if(n%i==0){
a[j++]=i;num++;
sum=sum+i;
}
}
if(n==sum){
cout<<n<<" "<<"its factors are"<<" ";
for(j=0;j<num;j++){
if(a[j]!=0)
cout<<a[j]<<" ";
else
cout<<endl;
}
}
}
return 0;
}