zoukankan      html  css  js  c++  java
  • CDZSC_2015寒假新人(2)——数学

    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.
     
     
    题解:进制转换 10->16, 10->12,再求出各位之和。详见代码。
     
     1 #include <cstdio>
     2 #include <cstring>
     3 
     4 int sum(int n, int m)
     5 {
     6     int tmp = 0;
     7     while(n > 0)
     8     {
     9         tmp += n % m;
    10         n /= m;
    11     }
    12     return tmp;
    13 }
    14 
    15 int main()
    16 {
    17 #ifdef CDZSC_OFFLINE
    18     freopen("in.txt", "r", stdin);
    19     freopen("out.txt", "w", stdout);
    20 #endif
    21     int n, a, b, c;
    22     while(~scanf("%d", &n) && n)
    23     {
    24         a = sum(n, 10);
    25         b = sum(n, 16);
    26         c = sum(n, 12);
    27         printf("%d%s
    ", n, (a == b && a == c) ? " is a Sky Number." : " is not a Sky Number.");
    28     }
    29     return 0;
    30 }
    View Code
  • 相关阅读:
    【LeetCode-位运算】位1的个数
    【LeetCode-数组】调整数组顺序使奇数位于偶数前面
    mySQL数据库中.frm和.myi和.myd和.ibd文件是什么文件?
    安装docker-compose的两种方式
    将第三方jar包 安装到 maven仓库
    limit分页查询
    pom.xml配置指定仓库
    linux常用命令
    正则笔记
    使用conda创建虚拟环境
  • 原文地址:https://www.cnblogs.com/LiuACG/p/4246936.html
Copyright © 2011-2022 走看看