zoukankan      html  css  js  c++  java
  • 1236: 数的逆转

    题目描述

    Birdfly是一位优秀的acmer,他自幼都数学有着浓烈的兴趣。作为一名集训队员,总爱思考一些新奇的问题,寻求不同的解题方法。
    Birdfly一直坚信freshmen的潜力是无穷的!因为你们是ZZULI ACM的未来!ACM的题目并不是那么简单,但这一题so easy!^_^
    一天晚上,birdfly躺在床上毫无睡意……他想,任意给你一个整数,这个数可能很大(最长不超过100位),你能求出它的逆转数吗?
    逆转数定义如下:
    1.一个末尾没有0的整数,它的逆转数就是各位数字逆序输出;
    2.一个负数的逆转数仍是负数;
    3.一个末尾有0的整数,它的逆转数如同下例:reverse (1200) = 2100。
    看着birdfly难以入睡,我只好求助于聪明的你编程实现这个问题,相信你一定能帮上忙的!

    输入

    输入数组有多组, 每组测试实例包含一个大数且占一行。

    输出

    对每组测试实例,输出它的逆转数。每组占一行。

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<string>
    using namespace std;
    /*
    不得不说这道题浪费我很多时间,主要是基础不够熟练。
    
    
    /************************思路如下:
    /************************先讨论末尾是否有零
    /************************if(有0),讨论正负;
    /************************if(没0),亦论正负;
    */
    void fun(string &s)
    {
            int t = s.length()-1;
            if (s[t] != '0')
            {
                if (s[0] != '-')
                {
                    reverse(s.begin(), s.end());
                }
                else
                {
                    reverse(s.begin() + 1, s.end());
                }
            }
            if (s[t] == '0')
            {
                int i,j=0;
                for (i = t; i >= 0; i--)//找到从后往前第一个不为0的数
                {
                    j++;
                    if (s[i] != '0')
                        break;
                }
                if (s[0] != '-')
                {
                    reverse(s.begin(), s.end()-j+1);
                }
                else
                {
                    reverse(s.begin() + 1, s.end()-j+1);
                }
            }
    }
    int main()
    {
        string s;
        while (cin>>s)
        {
            fun(s);
            cout<<s<<endl;
        }
        //system("pause");
        return 0;
    }
  • 相关阅读:
    python 打印出水仙花数
    pycharm 2020 激活码 破解教程
    Python 封装一个函数,查找文字字符串数字英文下标
    Python 分解质因数
    python 封装一个取符串长度的函数
    Python 正整数相加其余忽略
    Python 输入字符串找(String)下标 没有返回-1
    CPU 和 GPU 的区别
    Deferred Shading,延迟渲染(提高渲染效率,减少多余光照计算)【转】
    BumpMap、NormalMap的区别
  • 原文地址:https://www.cnblogs.com/binanry/p/9622520.html
Copyright © 2011-2022 走看看