您的位置:首页 > 其它

ZOJ 1284

2014-08-19 17:03 453 查看
水题,暴力就可以过。

枚举因数的时候只要枚举2~sqrt(N)就可以了。

还有要注意输出格式。

时间:0毫秒。

空间:168KB。

#include "stdio.h"
#include "math.h"
int main(){
int tmp,n,i,j,sum;
printf("PERFECTION OUTPUT\n");
while(1){
scanf("%d",&n);
if(!n)break;
if(n==1){
printf("%5d DEFICIENT\n",1);
continue;
}
j=(int)(floor(sqrt((double)n)));
sum=1;
for(i=2;i<=j;i++){
if(n%i==0){
sum=sum+i+n/i;
}
if((i==j)&&(j*j==n))sum-=j;
}
printf("%5d ",n);
if(sum==n)printf("PERFECT");
if(sum<n)printf("DEFICIENT");
if(sum>n)printf("ABUNDANT");
printf("\n");
}
printf("END OF OUTPUT\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ZOJ 水题 数论 1284