Sky数 2097

Problem Description

Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。Sky非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Sky数。但是要判断这样的数还是有点麻烦啊,那么现在请你帮忙来判断任何一个十进制的四位数,是不是Sky数吧。

Input

输入含有一些四位正整数,如果为0,则输入结束。

Output

若n为Sky数,则输出“#n is a Sky Number.”,否则输出“#n is not a Sky Number.”。每个结果占一行。注意:#n表示所读入的n值。

Sample Input

2992
1234
0

Sample Output

2992 is a Sky Number.
1234 is not a Sky Number.

Source

2007省赛集训队练习赛(2)

Recommend

lcy   |   We have carefully selected several similar problems for you:  2095 2089 2094 2093 1406

 1 #include<iostream>
 2 using namespace std;
 3
 4 int sum_k(int n,int k)
 5 {
 6     int s=0;
 7     while(n!=0)
 8     {
 9         s+=n%k;
10         n/=k;
11     }
12     return s;
13 }
14
15 int main()
16 {
17     int n;
18     while(cin>>n,n!=0)
19     {
20         int a,b,c;
21         a=sum_k(n,10);
22         b=sum_k(n,12);
23         c=sum_k(n,16);
24         if(a==b&&a==c)
25             cout<<n<<" is a Sky Number."<<endl;
26         else
27             cout<<n<<" is not a Sky Number."<<endl;
28     }
29     return 0;
30 }
时间: 2024-10-05 03:42:51

Sky数 2097的相关文章

HDU Sky数 2097

解题思路:类比求出10进制数各个位上的数字之和,求出12进制和16进制上的数. 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 int n; 6 7 int getShi(int t) 8 { 9 int ans = 0; 10 t = n; 11 while(t) 12 { 13 ans += t%10; //草稿纸上演示一下就知道原理. 14

(java实现)杭电oj 2097 Sky数

就是简单的求出各进制之和,比较是否相等就好了 Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 20822    Accepted Submission(s): 11865 Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制

Sky数

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 16448    Accepted Submission(s): 9444 Problem Description Sky从小喜欢奇特的东西,并且天生对数字特别敏感.一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进

HDU2097 Sky数

问题链接:HDU2097 Sky数.入门练习题,用C语言编写程序. 进制转换问题,通常用除运算(/)和取余数运算(%)来实现. 程序中,使用数组scale[]是为了提高程序的通用性.改变该数组的内容,就可以改变程序的功能,而不需要修改程序. AC的C语言程序如下: /* HDU2097 Sky数 */ #include <stdio.h> // 数字之和:将10进制的val转为base进制,并对各位求和 int digitsum(int val, int base) { int sum = 0

hdu2097 nyoj414 sky数 (进制转换)

Sky number 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 key天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22.key非常喜欢这种四位数(三种进制的和相等),由于他的发现,所以这里我们命名其为key数.但是要判断这样的数还是有点麻烦啊,那么现在请你帮忙来判断任何一个十进

HDU2097 Sky数【水题】

Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15189    Accepted Submission(s): 8733 Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,

HDU ACM 2097 Sky数

计算出进制和即可. #include<iostream> using namespace std; int GetSum(int x,int n) { int sum=0; while(x) { sum+=x%n; x/=n; } return sum; } int main() { int n; while(cin>>n &&n) { if(GetSum(n,10)==GetSum(n,16) &&GetSum(n,12)==GetSum(n,16

HDU Sky数 2079 简单易懂的代码

题目 http://acm.hdu.edu.cn/showproblem.php?pid=2097 思路 既然要求和 十进制数字各个位数上的和是相同的, 那么16,12进制转换完之后也是10进制表示的 #include <iostream> #include <queue> #include <cstdio> #include <cstring> #include <cstdlib> #include <stack> using na

【ACM】----杭电oj 2097

Sky数 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15579    Accepted Submission(s): 8981 Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,