无限小数转分数POJ1930分析】的更多相关文章

将无限小数化为分数,有一套简单的公式.使其轻松表示出来. 循环节 例如:0.121212…… 循循环节为12.   公式 这个公式必须将循环节的开头放在十分位.若不是可将原数乘10^x(x为正整数) 就为:12.121212……-0.121212……=12 100倍 - 1倍 =99 (99和12之间一条分数线) 此公式需用两位数字,其中两位数差出一个循环节.   再举一个例子:0.00121212…… 公式就变为:1212.121212……-12.121212……=1200 100000 倍…
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1303 这个OJ很容易跪所以我贴一下题目 Description 任意一个分数都是有理数,对于任意一个有限小数,我们都可以表示成一个无限循环小数的形式(在其末尾添加0),对于任意一个无限循环小数都可以转化成一个分数.现在你的任务就是将任意一个无限循环小数转化成既约分数形式.所谓既约分数表示,分子和分母的最大公约数是1. Input 有多组数据. 每组数据一行.输入为0.a1a2a3...ak(b1…
小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2988    Accepted Submission(s): 1224 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以…
解题报告:输入一个小于1的小数,让你把这个数转化成分数,但注意,输入的数据还有无限循环的小数,循环节用一对括号包含起来. 之前还没有写过小数转分数的题,当然如果没有循环小数的话,应该比较简单,但是这题要求有循环小数.其实这里要用到一个很巧妙的方法,这里以0.4444444....这个无限循环小数来作为例子,0.444...*10 - 0.444.... = 4,又有左边的0.444...可以提出来,所以得到: 0.444....(10-1) = 4; 即0.444....*9 = 4, 所以无限…
小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5723    Accepted Submission(s): 2339 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以…
小数化分数2 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4278    Accepted Submission(s): 1725 Problem Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以…
两个小数相乘,会出现无限小数:先把小数乘以10或100或1000(小数点后有多少位就乘以多少),再相乘,最后再除以10或100或1000…
http://samueli.iteye.com/blog/224755 BigDecimal除法运算报错,错误如下:Non-terminating decimal expansion; no exact representable decimal result 原因是: BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) if divisor is zero, roundingMode==ROUND_UNNECE…
参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久没想出来, 后来看了博客发现因为显然答案是单调的, 可以用二分来做. 看到最大, 最小, 可以考虑答案是否单调, 单调考虑用二分 (2)然后是小数化分数, 其实一开始我想模拟分数, 然后发现很麻烦, 之后博客里的方法技巧性很强. 其实这个方法默认了分母是在1到n之间的, 而好像题目并没有给出这个条件…
question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ①普通有限小数 * * ②纯循环小数 * * ③混循环小数 * * 下面就挨个说它的转化方法: * * ①这一类很简单,分子就是小数点后面的数,分母就是10的n次方(n为小数点后面位数) * * ②这个小学学奥数的时候老师讲过,也不是很难:分子是循环的数,分母就是和它位数相同的9,比如0.(14)…