Доброго времени суток. Читая книгу М. Доусона "Программируем на Python" уткнулся на задачу, которая приводится в конце главы:
"А вот задача посложнее. Напишите на псевдокоде алгоритм игры, в которой случайное число от 1 до 100 загадывает человек, а отгадывает компьютер. Прежде чем приступать к решению, задумайтесь над тем, какой должна быть оптимальная стратегия отгадывания. Если алгоритм на псевдокоде будет удачным, попробуйте реализовать игру на Python."
Помогите построить алгоритм отгадывания, пожалуйста.
BB 8, Если вы собрались рандомно выбирать числа при отгадывании, то вероятность будет, действительно, 1/100. Но такой способ решения этой задачи никуда не годится. Он может угадывать, как очень быстро, так и очень медленно. Оно вам надо? Тут нужно использовать бинарный поиск, сложность O(logn). Совсем другое дело.
Создать 2 переменные min и max, которым присвоить 1 и 100 соответственно. В цикле попросить пользователя ввести число от 1 до 100 и присвоить его переменной, и завершить цикл, когда введенное пользователем будет числом в нужном диапазоне. Затем в цикле рандомно генерировать число x от min до max, и сверять с загаданным пользователем. Если х меньше загаданного, то min присвоить х, если больше, то х присвоить в max. Если числа равны закончить цикл и вывести поздравление.
По идее так!