#include<iostream> #include<math.h> #include<string> #include<stdlib.h> using namespace std; string jzzh(int s,int z){ int a,b,c,d; string str=""; string str1=""; a=s; b=z; c=a/b; d=a%b; if(d<10){ str+=d+'0'; } else{ str+=d+'A'-10; } while(c){ a=c; c=a/b; d=a%b; if(d<10){ str+=d+'0'; } else str+=d+'A'-10; } for(int i=str.length()-1;i>=0;--i){ str1+=str[i]; } return str1; } void main(){ int n; while(cin>>n){ if(n==0) break; int s10,s12,s16; s10=s12=s16=0; int s=n; while(s){ s10+=s%10; s/=10; } string str=jzzh(n,16); for(int i=0;i<str.length();++i){ if(str[i]>='0'&&str[i]<='9'){ s16+=str[i]-'0'; } else{ s16+=str[i]-'A'+10; } } if(s10==s16){ str=jzzh(n,12); for(int j=0;j<str.length();++j){ if(str[j]>='0'&&str[j]<='9'){ s12+=str[j]-'0'; } else{ s12+=str[j]-'A'+10; } } if(s12==s10){ cout<<n<<" "<<"is a Sky Number."<<endl; } else cout<<n<<" is not a Sky Number."<<endl; } else{ cout<<n<<" "<<"is not a Sky Number."<<endl; } } }
杭电ACM 第2097题
最新推荐文章于 2021-04-18 23:14:19 发布