zoukankan      html  css  js  c++  java
  • Hdu2097 Sky数

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=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.
     
     1 #include <iostream>
     2 #include <algorithm>
     3 #include <string>
     4 #include <cstring>
     5 #include <cstdio>
     6 #include <queue>
     7 using namespace std;
     8 int n;
     9 int x;
    10 int _is(int m)
    11 {
    12     int sum1=0,sum2=0,sum3=0;
    13     int x=m;
    14     while(x){
    15         sum1+=x%10;
    16         x/=10;
    17     }
    18     x=m;
    19     while(x){
    20         sum2+=x%12;
    21         x/=12;
    22     }
    23     x=m;
    24     while(x){
    25         sum3+=x%16;
    26         x/=16;
    27     }
    28     if(sum1==sum2&&sum2==sum3) return 1;
    29     else return 0;
    30 }
    31 int main()
    32 {
    33     while(cin>>n&&n){
    34         if(_is(n)) cout<<n<<" is a Sky Number."<<endl;
    35         else cout<<n<<" is not a Sky Number."<<endl;
    36     }
    37     return 0;
    38 } 
  • 相关阅读:
    Linux下对拍(A+B问题)
    洛谷 P1043 数字游戏 区间DP
    6.22 集训--DP复习一
    洛谷 P1220 关路灯 区间DP
    A*算法求K短路模板 POJ 2449
    点分治模板 POJ 1741
    HDU
    棋子游戏 51Nod
    数论习题总结
    CodeForces
  • 原文地址:https://www.cnblogs.com/wydxry/p/10879449.html
Copyright © 2011-2022 走看看