#T556997. 小数化分数

小数化分数

题目描述

输入格式

输入数据占一行,首先是一个整数f,取值为1或2。如果f为1,接下来是一个有限小数,这个小数可能大于1。如果f为2,接下来要输入一个无限循环小数,由一个有限小数(可能大于1)、空格、一个整数表示的循环节构成,有限小数可能是“0.”、“12.”等,这些情形表示无限循环小数是纯循环小数,详见样例数据2和3。有限小数也可能为“12.2112”,因此样例数据4表示无限循环小数12.21123434343434...。

输出格式

输出化简后的分数的分子和分母,用一个空格隔开。测试数据保证按题目描述中的方法转换得到的分子和分母不超出long long型范围。

输入输出样例 #1

输入 #1

1 21.155

输出 #1

4231 200

输入输出样例 #2

输入 #2

2 0. 3

输出 #2

1 3

输入输出样例 #3

输入 #3

2 12. 345

输出 #3

4111 333

输入输出样例 #4

输入 #4

2 12.2112 34

输出 #4

6044561 495000

说明/提示

本题出处

本题源自以下教材的编程习题:王桂平, 周思益, 周迎川著. C++编程与信息学竞赛数学基础, 北京大学出版社, 2025年7月出版.