A71510 | 小数化分数
来源编程题
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
给定一个小数,求它的最简分数表示。具体办法如下:
1、有限小数化分数
首先看小数点后面有几位数,如果是2位就除以100,是1位除以10,三位数除以1000,以此类推。然后分子和分母约分到不能再约分为止。 例如0.125 ,化成125/1000 再约分成 1/8
2、纯循环小数化分数
第一步:循环节有几位,就在分母上放几个9
第二步:把循环节部分完整地放在分子上
第三步:约分
例如:0.(3),循环节部分为3 化成3/9 再约分成 1/3
3、混循环小数化分数
分母:由9和0组成,9的个数等于循环节长度,0的个数等于不循环的位数
分子:小数点后全部的数,减去不循环的部分
例如:0.1(2) ,循环节部分为2 非循环节部分为1 化成(12-1)/90
输入格式
输入a.b(c),表示整数部分为 a,小数不循环部分为 b,循环部分为 c。
输出格式
该小数的最简分数。
输入输出样例
输入 #1
0.125
输出 #1
1/8
输入 #2
0.(3)
输出 #2
1/3
输入 #3
0.1(2)
输出 #3
11/90
【数据说明】
100% 的小数不超过 15 位
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?