[关闭]
@yang12138 2018-08-05T14:42:51.000000Z 字数 474 阅读 1429

求解最接近某个无理数的分数

未分类


题意:
给定一个无理数(用浮点数表示),且,求出一个,满足使.

考虑使用类似二分的方法逼近正解,假设当前左边界是,右边界是,如何求一个“好的”中点出来进行计算就成了一个问题.
这里使用的中点是,显然.
判断的大小关系,然后递推计算即可.
初始边界是,结束条件是.
最后得到两个边界,选距离最小的边界作为答案即可.

在随机输入一个浮点数进行计算的时候,能在次迭代内结束计算.
如果不是无理数而是特殊设置的数据例如,该迭代方法效率会比较慢.

原题链接:2017 Qingdao Online http://acm.hdu.edu.cn/showproblem.php?pid=6209
参考程序:https://paste.ubuntu.com/p/8jRDHqvWSH/

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注