水题·····不过就是提供一种转换的思路,10进制转化16进制,转化8进制,转化12进制,2进制也是同样的道理。
题目地址:点击打开链接。
代码如下:
#include<stdio.h> int main() { while(1) { int i=0,j=0,k=0,l=0,s,n,m=0; scanf("%d",&n); if(!n)break; s=n; while(s!=0) { i+=s%10; s/=10; } s=n;while(s!=0) { k+=s%16; s/=16; }if(i!=k){printf("%d is not a Sky Number.\n",n);continue;} s=n;while(s!=0) { l+=s%12; s/=12; }if(k!=l){printf("%d is not a Sky Number.\n",n);continue;} printf("%d is a Sky Number.\n",n); }return 0; }