求1000以内的完数
题目:一个数如果恰好等于他的因子之和(包括1,但不包括这个数),这个数就是完数。编写算法找出1000之内的所有完数,并按下面格式输出其因子:28 it's factors are 1,2,4,7,14
代码如下:
#include<iostream>
using namespace std;bool isWanShu(int n){int a[100],cnt=0;int sum=0;for(int i=1;i<n;i++){if(n%i==0){a[cnt++]=i;sum+=i;}}if(sum==n){cout<<n<<" it's factors are ";for(int i=0;i<cnt;i++){if(i!=cnt-1){cout<<a[i]<<',';}else{cout<<a[i]<<endl;}}}
}
int main(){for(int i=1;i<=1000;i++){isWanShu(i);}return 0;
}