nyoj-414-Sky number

 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",n);
16         else
17         printf("%d is not a Sky Number.\n",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 }

 

posted @ 2013-07-07 16:42  nylg-haozi  阅读(185)  评论(0编辑  收藏  举报