827
技术社区[云栖]
poj 1528 Perfection
这道题很水,主要就是注意一下当 n==1 时候的情况就可以了。。。
AC的代码:
#include<iostream>
#include <math.h>
int main()
{
printf("PERFECTION OUTPUT\n");
int n,i;
while(scanf("%d",&n) && n!=0)
{
printf("%5d ",n);
if(n==1)
{
printf("DEFICIENT\n");
continue;
}
int sum=1,limit=(int)sqrt((double)n);
for(i=2;i<=limit;i++)
{
if(n%i==0)
sum+=i+n/i;
}
if(sum==n)
printf("PERFECT\n");
else if(sum>n)
printf("ABUNDANT\n");
else
printf("DEFICIENT\n");
}
printf("END OF OUTPUT\n");
return 0;
}
最后更新:2017-04-03 14:54:06