E. 数字反转(升级版)

    Type: Default 1000ms 256MiB

数字反转(升级版)

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

数字反转(升级版)

题目背景

以下为原题面,仅供参考:

给定一个数,请将该数各个位上数字反转得到一个新数。

这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分;分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母;百分数的分子一定是整数,百分数只改变数字部分。整数新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零;小数新数的末尾不为 00(除非小数部分除了 00 没有别的数,那么只保留1个 00);分数不约分,分子和分母都不是小数(约分滴童鞋抱歉了,不能过哦。输入数据保证分母不为 00),本次没有负数。

题目描述

给定一个数,请将该数各个位上数字反转得到一个新数。

这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。

  • 整数反转是将所有数位对调。
  • 小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。
  • 分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。
  • 百分数的分子一定是整数,百分数只改变数字部分。

输入格式

一个实数 ss

输出格式

一个实数,即 ss 的反转数

样例 #1

样例输入 #1

5087462

样例输出 #1

2647805

样例 #2

样例输入 #2

600.084

样例输出 #2

6.48

样例 #3

样例输入 #3

700/27

样例输出 #3

7/72

样例 #4

样例输入 #4

8670%

样例输出 #4

768%

提示

【数据范围】

  • 对于 25%25\% 的数据,ss 是整数,不大于 2020 位;
  • 对于 25%25\% 的数据,ss 是小数,整数部分和小数部分均不大于 1010 位;
  • 对于 25%25\% 的数据,ss 是分数,分子和分母均不大于 1010 位;
  • 对于 25%25\% 的数据,ss 是百分数,分子不大于 1919 位。

【数据保证】

  • 对于整数翻转而言,整数原数和整数新数满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数和原来的数字的最高位数字不应为零。
  • 对于小数翻转而言,其小数点前面部分同上,小数点后面部分的形式,保证满足小数的常见形式,也就是末尾没有多余的 00(小数部分除了 00 没有别的数,那么只保留 1100。若反转之后末尾数字出现 00,请省略多余的 00
  • 对于分数翻转而言,分数不约分,分子和分母都不是小数。输入的分母不为 00。与整数翻转相关规定见上。
  • 对于百分数翻转而言,见与整数翻转相关内容。

数据不存在负数。

8月A班作业

Not Attended
Status
Done
Rule
OI
Problem
7
Start at
2024-8-1 18:00
End at
2024-8-7 18:00
Duration
144 hour(s)
Host
Partic.
16