question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ①普通有限小数 * * ②纯循环小数 * * ③混循环小数 * * 下面就挨个说它的转化方法: * * ①这一类很简单,分子就是小数点后面的数,分母就是10的n次方(n为小数点后面位数) * * ②这个小学学奥数的时候老师讲过,也不是很难:分子是循环的数,分母就是和它位数相同的9,比如0.(14)…
小数化分数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 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以…
小数化分数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 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以…
小数化分数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 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢?请你写一个程序不但可以…
参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久没想出来, 后来看了博客发现因为显然答案是单调的, 可以用二分来做. 看到最大, 最小, 可以考虑答案是否单调, 单调考虑用二分 (2)然后是小数化分数, 其实一开始我想模拟分数, 然后发现很麻烦, 之后博客里的方法技巧性很强. 其实这个方法默认了分母是在1到n之间的, 而好像题目并没有给出这个条件…
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1303 这个OJ很容易跪所以我贴一下题目 Description 任意一个分数都是有理数,对于任意一个有限小数,我们都可以表示成一个无限循环小数的形式(在其末尾添加0),对于任意一个无限循环小数都可以转化成一个分数.现在你的任务就是将任意一个无限循环小数转化成既约分数形式.所谓既约分数表示,分子和分母的最大公约数是1. Input 有多组数据. 每组数据一行.输入为0.a1a2a3...ak(b1…
import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, //然后去中值,并依次到judgeHigh函数判断是否满足条件,然后逐步逼近最终答案 public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); while (in.has…
解题报告:输入一个小于1的小数,让你把这个数转化成分数,但注意,输入的数据还有无限循环的小数,循环节用一对括号包含起来. 之前还没有写过小数转分数的题,当然如果没有循环小数的话,应该比较简单,但是这题要求有循环小数.其实这里要用到一个很巧妙的方法,这里以0.4444444....这个无限循环小数来作为例子,0.444...*10 - 0.444.... = 4,又有左边的0.444...可以提出来,所以得到: 0.444....(10-1) = 4; 即0.444....*9 = 4, 所以无限…
Description Ray 在数学课上听老师说,任何小数都能表示成分数的形式,他开始了化了起来,很快他就完成了,但他又想到一个问题,如何把一个循环小数化成分数呢? 请你写一个程序不但可以将普通小数化成最简分数,也可以把循环小数化成最简分数.   Input 第一行是一个整数N,表示有多少组数据. 每组数据只有一个纯小数,也就是整数部分为0.小数的位数不超过9位,循环部分用()括起来.   Output 对每一个对应的小数化成最简分数后输出,占一行.   Sample Input 3 0.(4…
具体约束: 给定一个小数x,x满足0<=x<1,且保证给定的x保留了18位小数 输出一个分数,使得分母不超过1e9,分子分母互质,且在满足这些条件的情况下最接近x 了解一下法雷数列和stern-brocot tree (某种意义上他们是在描述一个东西) https://en.wikipedia.org/wiki/Stern%E2%80%93Brocot_tree 然后考虑在这个树上二分答案的上下界(个人觉得也可以叫伪二分), 一层一层的下降,时间复杂度O(q), q为限制分母大小,本题中为1e…