了解查找随机数的算法

发布于 2024-11-09 03:39:58 字数 146 浏览 0 评论 0原文

我正在尝试找到使用最少步数查找 1-100 之间随机数的最佳算法。您可以使用函数 guess(n) 猜测数字 n,并且您将收到布尔响应 true 或 false。如果响应为假,则答案将始终小于您在函数中输入的猜测值;如果响应为真,则需要更大或猜测本身。

I'm trying to find the best algorithm for finding a random number between 1-100 using the least number of steps. You can guess a number n using the function guess(n), and you will receive a boolean response true or false. The answer will always be less than the guess you entered into the function if the response is false; if the response is true, it needs to be larger or the guess itself.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏见 2024-11-16 03:39:58

基本思想:

首先猜测(50)。根据答案,猜测(25)或猜测(75)。

The basic idea:

First guess(50). Depending on the answer, guess(25) or guess(75).

痴骨ら 2024-11-16 03:39:58

如果您可以判断您的猜测是否大于或小于随机数,那么二分搜索就是您的选择朋友。

否则,如果您只能判断数字是否匹配,我将从中位数 (50.5) 开始交替线性搜索,即从 50 到 1 和从 51 到 100(50、51、49、52...)。

If you can tell whether your guess is greater or smaller than the random number, then Binary Search is your friend.

Else, if you can only tell if the numbers match, I would start alternating linear search from the median (50.5) i.e. from 50 to 1 and from 51 to 100 (50, 51, 49, 52...).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文