水题·····不过就是提供一种转换的思路,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;
}