程序如下:
#include
#include
using namespace std;
int a[500]; //存放因数
void f1(int b); //将b的因数存到a数组
void f2(); //将a数组清零
bool f3(int c); //验证c是否为完数
int main(){
int i;
f2(); //初始化数组a
for(i=1;i<1000;i++){
f1(i);
if(f3(i))
cout<
f2();
}
return 0;
}
void f1(int b){
int j=1,k=0;
while(j
if(b%j==0)
a[k++]=j;
j++;
}
}
void f2(){
for(int t=0;t<500;t++)
a[t]=0;
}
bool f3(int c){
int sum=0;
for(int t=0;t<500;t++)
sum+=a[t];
return c==sum;
}