#iai26t2. 分数化简(Fraction Simplification)

分数化简(Fraction Simplification)

分数化简(Fraction Simplification)

题目描述

给定一个分数 a/ba/b,若它是一个假分数,请将它化简成带分数形式输出。例如当 a/b=91/30a/b=91/30,输出

  1
3--
  30

当输入是一个真分数时,请将它化简后输出,且忽略整数部分,例如当 a/b=30/100a/b=30/100 时,输出

 3
--
10

当输入的分数可以变成整数时,忽略它分数部分。注意输出的所有分数都应该是既约的。

输入格式

单个分数 a/ba/b

输出格式

如题面描述,注意分数线应该与分母一样长,分子应该与分母右对齐。

样例输入 #1

91/30

样例输出 #1

  1
3--
  30

样例输入 #2

12345/1000

样例输出 #2

   69
12---
  200

样例输入 #3

20/4

样例输出 #3

5

数据范围

对于 100% 的数据,1a,b1,000,0001\le a,b\le 1{,}000{,}000。(aabb 为正整数)

知识点与难度

本题涉及的知识点从属于 GESP 3级(字符串解析、模拟法),难度等级:⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例(含带分数、真分数、整数)
1 20 3~8 小规模 / 特殊: 真分数 / 整数 / 分子=分母
2 15 9~11 Hack: 大整数gcd / 分母为1 / 多位数对齐
3 30 12~20 中大规模 a,b≈1e5~1e6
4 25 21~25 随机 a,b=1~1e6 回归