printРабочее место участника

printЗадачи

919. Угадай число

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Боб и его старший брат Альберт часто играют в игру "Угадай число". Сначала Боб загадывает число `K` в диапазоне от 1 до `N`. Потом Альберт называет числа, а Боб говорит, является названное число больше или меньше загаданного или Альберт назвал правильное число. Альберт для угадывания всегда использует следующую стратегию.
1 шаг. Альберт задает `A=1` и `B=N`
2 шаг. Альберт вычисляет `M` – целую часть среднего арифметического чисел `A` и `B`
3 шаг. Альберт называет число `M`
4 шаг. Если Боб говорит "Меньше", то Альберт полагает `A=M+1` и переходит к шагу 2
5 шаг. Если Боб говорит "Больше", то Альберт полагает `B=M-1` и переходит к шагу 2
6 шаг. Если Боб говорит "Угадал", то игра заканчивается
Например, пусть `N=9`, а задуманное Бобом число `K` равно 6. Сначала `A=1`, `B=9`. Альберт называет число 5 и получает ответ "Меньше". Теперь `A=6`, `B=9`. Следующее число-попытка 7. Боб отвечает "Больше". Теперь `A=6`, `B=6`. Альберт называет 6 и получает ответ "Угадал".
Напишите программу, которая определяет, сколько чисел придется назвать Альберту, прежде чем он получит ответ "Угадал" от Боба.
В первой строке входного файла содержатся два целых числа `N` (`1\ ≤\ N\ ≤\ 1000`) и `K` (`1\ ≤\ K\ ≤\ N`), разделенных пробелом.
В выходной файл вывести одно целое число – количество названных Альбертом чисел до получения ответа Боба "Угадал".

Пример ввода

9 6

Вывод для примера

3
loading