Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。Sky非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Sky数。但是要判断这样的数还是有点麻烦啊,那么现在请你帮忙来判断任何一个十进制的四位数,是不是Sky数吧。
2992 1234 0
2992 is a Sky Number.1234 is not a Sky Number.
代码:#include<stdio.h> int main() {int n; scanf("%d",&n); int c; while(n!=0) {c=n%10+n/10%10+n/100%10+n/1000; int sum=0,sum1=0; int a=n,k=n,b=n; while(b!=0) { sum=sum+b%16; b=b/16; } while(a!=0) {sum1=sum1+a%12; a=a/12; } if(c==sum&&c==sum1) printf("%d is a Sky Number\n",k); else printf("%d is not a Sky Number\n",k); scanf("%d",&n); } return 0; }