没什么算法,直接暴力,ac
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
int a[110],x,i;
for(i=0;;i++){
scanf("%d",&x);
if(x==0)
break;
a[i]=x;
}
printf("PERFECTION OUTPUT\n");
for(int j=0;j<i;j++)
{
int sum=0;
for(x=1;x<=a[j]/2;x++){
if(a[j]%x==0)
sum+=x;
}
printf("%5d ",a[j]);
if(sum<a[j]){
printf("DEFICIENT\n");
}
else if(sum==a[j])
printf("PERFECT\n");
else
printf("ABUNDANT\n");
}
printf("END OF OUTPUT\n");
return 0;
}