zoukankan      html  css  js  c++  java
  • Vijos P1756 数字反转【进制】

    背景

    noip2011 NO.1

    描述

    给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

    格式

    输入格式

    输入共1 行,一个整数N。

    输出格式

    输出共1 行,一个整数,表示反转后的新数。

    样例1

    样例输入1

    123 
    

    样例输出1

    321 
    

    样例2

    样例输入2

    -380 
    

    样例输出2

    -83 
    

    限制

    1s

    提示

    【数据范围】
    -1,000,000,000 ≤ N ≤ 1,000,000,000 。

    来源

    noip 2011



    问题链接 Vijos P1756 数字反转

    问题分析

    这个问题是一个进制计算问题。

    一个数除以10的余数即为那个数的个位。不断取出个位和右移,并且将取出的个位重新拼装成一个整数即可。

    需要注意负数的情况,幸好负数的余数是负数。

    程序说明

    (略)

    题记

    进制是计算中绕不开的话题。


    参考链接:(略)


    AC的C++程序如下:

    #include <iostream>
    
    using namespace std;
    
    const int BASE10 = 10;
    
    int reverse(int n)
    {
        int ans = 0;
    
        while(n) {
            ans *= BASE10;
            ans += n % BASE10;
            n /= BASE10;
        }
    
        return ans;
    }
    
    int main()
    {
        int n;
    
        cin >> n;
    
        cout << reverse(n) << endl;
    
        return 0;
    }






  • 相关阅读:
    ubuntu 下的中文输入法的安装和配置- ibus
    数据分析-序列处理(2)
    数据分析创建数据框与数据获取(1)
    Python的函数与方法的区别
    Python3笔记015
    Python3笔记014
    Python3笔记013
    Python3笔记012
    Python3笔记011
    Python3笔记010
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563819.html
Copyright © 2011-2022 走看看