gpt4 book ai didi

algorithm - 将 (0, 1) 中的有理数舍入到最接近的单位分数

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:46:00 25 4
gpt4 key购买 nike

以下问题的好的算法是什么?

Given a rational a / b strictly between 0 and 1, find a natural n that minimizes |a / b - 1 / n|.

我能想到的最简单的算法是比较 a/b 和 1/mm = b, b - 1, ..., 当 a/b ≤ 1/m< 时停止/em>,然后比较 |a/b - 1/m|和 |a/b - 1/(m + 1)|。那是 O( b )。你能做得更好吗?

最佳答案

令 k = floor(b/a) 然后 n 必须等于 k ​​或 k+1。尝试 2 个候选人,看看哪一个获胜。这是 O(1)。

这是真的,因为 1/(k+1) <= a/b <= 1/k 反过来又从不等式 k <= b/a <= k+1 推导出来。

关于algorithm - 将 (0, 1) 中的有理数舍入到最接近的单位分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com