【洛谷 P1307】[NOIP2011 普及组] 数字反转 题解(取余)
  VJeqq9jk2lCR 2023年11月19日 30 0

[NOIP2011 普及组] 数字反转

题目描述

给定一个整数 【洛谷 P1307】[NOIP2011 普及组] 数字反转 题解(取余)_ios,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。

输入格式

一个整数 【洛谷 P1307】[NOIP2011 普及组] 数字反转 题解(取余)_ios

输出格式

一个整数,表示反转后的新数。

样例 #1

样例输入 #1

123

样例输出 #1

321

样例 #2

样例输入 #2

-380

样例输出 #2

-83

提示

【数据范围】

$-1,000,000,000\leq N\leq 1,000,000,000 $。

noip2011 普及组第一题

思路

负数输出符号,通过取余求每一位来倒序输出,这样做比字符串法更简洁。

AC代码

#include <iostream>
#define AUTHOR "HEX9CF"
using namespace std;

int main() {
    int n;
    int r;
    cin >> n;
    if(n < 0){
        putchar('-');
        n *= -1;
    }
    r = n % 10;
    for (int i = n, m = 10; i > 9; i /= 10)
    {
        r = r * 10 + (n % (10 * m) - n % m) / m;
        m *= 10;
    }
    cout << r << endl;
    return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
VJeqq9jk2lCR