1 #include<stdio.h> 2 #include<algorithm> 3 #include<functional> 4 #include<string.h> 5 using namespace std; 6 int main() 7 { 8 int jz(int n);//计算十进制四位和 9 int jz16(int n);//计算十六进制四位和 10 int jz12(int n);//计算十二进制四位和 11 int n; 12 while(scanf("%d",&n),n) 13 { 14 if(jz(n)==jz16(n)&&jz16(n)==jz12(n))//判定输出 15 printf("%d is a Sky Number. ",n); 16 else 17 printf("%d is not a Sky Number. ",n); 18 } 19 return 0; 20 } 21 int jz(int n) 22 { 23 int sum=0; 24 sum+=n/1000; 25 sum+=n%10; 26 sum+=n%100/10; 27 sum+=n%1000/100; 28 return sum; 29 } 30 int jz16(int n) 31 { 32 int sum=0; 33 while(n) 34 { 35 sum+=n%16; 36 n/=16; 37 } 38 return sum; 39 } 40 int jz12(int n) 41 { 42 int sum=0; 43 while(n) 44 { 45 sum+=n%12; 46 n/=12; 47 } 48 return sum; 49 }