#include <stdio.h>
#include <math.h>
int main()
{
int a[100];
int count = 0;
int i,j,sum;
double sqr;
while(1)
{
scanf("%d",&a[count]);
if(a[count] == 0)
break;
count++;
}
printf("PERFECTION OUTPUT\n");
for(i = 0;i < count;i ++)
{
sum = 1;
if(a[i] == 1) //1是不足的,要单独考虑
{
sum = 0;
}else
{
sqr = sqrt((double)a[i]);
for(j = 2;j < sqr;j ++)
{
if(a[i] % j == 0)
{
sum += j;
sum += a[i] / j;
}
}
}
if(sum > a[i])
printf("%5d ABUNDANT\n",a[i]);
else if(sum < a[i])
printf("%5d DEFICIENT\n",a[i]);
else
printf("%5d PERFECT\n",a[i]);
}
printf("END OF OUTPUT\n");
return 0;
}
/*测试结果:
15 28 6 56 60000 22 496 1 2 4 5 0
PERFECTION OUTPUT
15 DEFICIENT
28 PERFECT
6 PERFECT
56 ABUNDANT
60000 ABUNDANT
22 DEFICIENT
496 PERFECT
1 DEFICIENT
2 DEFICIENT
4 DEFICIENT
5 DEFICIENT
END OF OUTPUT
请按任意键继续. . .
*/
POJ1528 Perfection
最新推荐文章于 2017-05-20 11:30:05 发布