#776. [CZOI2013 E] 小数转分数
[CZOI2013 E] 小数转分数
题目描述
小数由整数部分、小数部分和小数点组成。当测量物体时往往会得到不是整数的数,古人就发明了小数来补充整数,小数是十进制分数的一种特殊表现形式,所有分数都可以表示成小数,小数中除无限不循环小数外都可以表示成分数。最近小 G 对如何将一个小数转换成分数产生了浓厚兴趣,为了简化问题小 G 只研究整数部分为零的小数或循环小数的转换问题,这种小数有以下 类:
- 纯小数:形如
0.xxx
,如 都是纯小数。 - 纯循环小数:循环节从小数部分第一位开始的循环小数,称为纯循环小数,通常我们把循环节记录在一对括号中。如纯循环小数 可记为 。
- 混循环小数:循环节不是从小数部分第一位开始的循环小数。例如:等,它们分别记为 、。
输入格式
第一行为一个正整数 ,表示要转换的小数的小数部分的长度。
第二行为需要转换的小数的小数部分,由数字和括号组成,括号内为循环节。为方便读入,输入数据省略了小数点和整数部分的 ,如 省略后为 。
输出格式
仅有一行为转化后的最简分数,所谓最简分数,是指分子、分母的最大公约数等于1的分数,又称既约分数。如 等都是最简分数。而 不是最简分数,因为分子、分母的最大公约数等于 ,它可以约分为 。你可以用附件中的计算器验证你的程序的正确性。
2
12
3/25
3
(3)
1/3
7
098(43)
1949/19800
对于 的数据满足:输入数据为纯小数。
对于另外 的数据满足:输入数据为纯循环小数。
对于另外 的数据满足:输入数据为混循环小数。
对于 的数据满足:输入数据中的数字个数严格少于 个。