Понимание алгоритма поиска случайного числа - PullRequest
1 голос
/ 22 мая 2011

Я пытаюсь найти лучший алгоритм для поиска случайного числа от 1 до 100, используя наименьшее количество шагов. Вы можете угадать число n, используя функцию guess(n), и вы получите логический ответ true или false. Ответ всегда будет меньше, чем предположение, введенное вами в функцию, если ответ ложный; если ответ верный, он должен быть больше или сам догадка.

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

Основная идея:

Первое предположение (50). В зависимости от ответа угадать (25) или угадать (75).

0 голосов
/ 22 мая 2011

Если вы можете сказать, больше или меньше ваше предположение, чем случайное число, тогда Двоичный поиск - ваш друг.

Иначе, если вы можете только определить, совпадают ли числа, я бы начал чередующийся линейный поиск по медиане (50,5), то есть с 50 до 1 и с 51 до 100 (50, 51, 49, 52 ...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...