#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月出版.