using namespace std;
#include <iostream>
int digitsum(int val,int base){
int sum=0;
while(val){
sum+=val%base;
val/=base;
}
return sum;
}
int main(){
int n,sum ,skyflag,i;
int scale[]={16,12};
while(scanf("%d",&n)!=EOF){
//输入0,结束
if(n==0)
break;
sum=digitsum(n,10);
//sky判定
skyflag=1;
int len=sizeof(scale)/sizeof(int);
for(i=0;i<len;i++){
if(digitsum(n,scale[i])!=sum){
skyflag=0;
break;
}
}
//输出
if(skyflag)
printf("%d is a Sky Number.\n",n);
else
printf("%d is not a Sky Number.\n",n);
}
return 0;
}
HDU2097 Sky数[入门]
最新推荐文章于 2020-11-30 19:09:06 发布