1422: Math

内存限制:16 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:19 解决:7

题目描述

这个问题很简单,就连小学生都不会做
给你一个 小于1的非负有理数的小数形式,求出它的分数形式,当然这个小数可能是无限循环小数


输入规则:循环节用中括号标出,几个例子如下
0.[3] = 0.3333333333… = 1/3
0.[142857] = 0.142857142857142857… = 1/7
0.8[3] = 0.8333333333 … = 5/6
输入保证合法! 也就是说中括号最多只会有一个且中括号的后面不会再出现数字,例如0.[5]6、0.5[6]22[35]等都是非法表示,循环节里面的数不能为0也不能全为9,例如0.[9]也是非法表示
除此之外不会出现多余的0,例如0.50000和0.5[0]都非法,它们都等于0.5,也不会出现除了数字和中括号和一个小数点外任何其他字符,更不会出现莫名的空格


为了降低难度,这题的后台数据并不多,并且中间过程不会超过int范围
建议用scanf("%s", str)输入!!


输入

先输入一个T表示T组测试数据(T≤15)
接下来每行输入一个字符串表示一个大于等于0小于1 的有理数,长度不会超过10

输出

每一个样例输出对应的最简分数形式,如果分子是分母的倍数,直接输出一个整数

样例输入复制

3 0.8[3] 0.[3] 0.125

样例输出复制

5/6 1/3 1/8

来源/分类

Baidu
map