Угадать число которое загадал пользователь

Пользователь загадывает число от 1 до 5. Требуется его отгадать, задав как можно меньше вопросов, и ограничиться только использование оператора ветвления (обычно подобные задачи решают с помощью цикла).

Чтобы пользователю задать меньше вопросов, надо "разделить" диапазон чисел на две по возможности равные части и определить, в какой из них находится искомое число.

В программе генерируется случайное целое число от 0 до 100. Пользователь должен его отгадать не более чем за 10 попыток. После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано. Если за 10 попыток число не отгадано, то вывести загаданное число.

  1. Сгенерировать случайное число.
  2. Ввести счетчик попыток. Присвоить ему значение 1.
  3. Пока счетчик попыток меньше, либо равен 10
  1. запрашивать у пользователя очередное число,
  2. если оно больше загаданного, то выводить "много",
  3. если оно меньше загаданного, то выводить "мало",
  4. иначе сообщать, что число угадано и прерывать выполнение цикла,
  5. увеличивать счетчик попыток на единицу.
  • После цикла, если число не было угадано, то вывести сообщение о том, что попытки исчерпаны, и какое число было загадано компьютером.
  • Самый верный способ отгадать число менее чем за 10 попыток – это делить диапазон на 2. Например, если число лежит в пределах от 0 до 100, то введя 50 мы сразу сокращаем диапазон поиска в два раза. Если было сказано, что загаданное число меньше 50-ти, то вводим 25 и таким образом снова сокращаем диапазон в 2 раза.

    Если следовать этому правилу то потребуется 6-7 попыток, т.к. число 100 (изначальная длина диапазона) лежит в пределах между 2 6 и 2 7 .

    Пытаюсь решить задачу на JS. Но увы, ничего не получается. Поэтому решил написать свой первый пост.
    Суть такова:
    Требуется программа на JavaScript, которая будет угадывать загаданное число, с помощью метода бинарного поиска. Диапазон чисел от 1 до 100.
    Процесс работы:
    1. пользователь загадывает число от 1 до 100,
    2. программа спрашивает пользователя «это число 50?» и есть три варианта ответа «да», «нет, меньше 50», «да, больше 50».

    Читайте также:  Сюда приезжали директора предприятий

    Пытался написать код, но пока ничего толкового не выходит. Мои успехи:

    Оцените статью
    Добавить комментарий

    Adblock detector