【发布时间】:2023-03-29 00:51:02
【问题描述】:
我们正在寻找一种算法来在 O(N) 内解决这个问题。
给定两个实数 a 和 b(不失一般性,您可以假设它们都在 0 和 1 之间) 求一个介于 -N 和 N 之间的整数 n,使表达式最小化:
|a n - b - 圆形(a n - b)|
我们认为欧几里得算法可能适用于此,但无法弄清楚。看起来应该有比通过对整数 n 进行详尽搜索更快的方法来做到这一点。
注意:在我们的情况下,a 和 b 可能会经常变化,因此可以将 a 和 b 固定为查找表,因为 N 也可以变化,所以它有点难看。尚未详细查看查找表,看看我们可以将它作为 N 的函数得到多小。
【问题讨论】:
-
如果您计划测试 k 个不同的 ns,那么我可以提供一个解决方案,保证 |a n - b - round(a n - b)|
-
我们正在搜索所有 n 个整数,使得 |n|
标签: algorithm minimum number-theory