Я заметил, что одометр моей машины был на 101101, когда я пришел на работу сегодня. Это классное число, потому что оно двоичное (и палиндром, но это не важно). Теперь я хочу знать, когда в следующий раз у меня будет бинарное показание одометра. Я не могу прочитать одометр, когда я за рулем, потому что это было бы опасно, поэтому он должен быть двоичным, когда я доберусь до работы или вернусь домой.
По дороге в мой офис и из него идет очень плохое движение, поэтому мне приходится каждый день выбирать разные маршруты.
Для целей этого испытания день - это путешествие в оба конца, и я начинаю с работы на работе.
Вам нужно будет взять начальные показания одометра и последовательность из 10 элементов, представляющих количество миль в одну сторону. Эту последовательность следует повторять до тех пор, пока вы не доберетесь до двоичного показания одометра. Затем вы должны вывести количество дней, необходимое для того, чтобы мы достигли двоичного значения.
И пробег для маршрута и показания одометра будут положительными целыми числами. Количество дней будет либо, x
либо x.5
, поэтому ваш вывод количества дней должен поддерживать число с плавающей запятой в течение половины дня. Если число дней является целым числом, вам не нужно выводить .0
. Одометр всегда в конечном итоге достигнет бинарного состояния.
Любая форма ввода / вывода является приемлемой, и стандартные лазейки запрещены.
Тестовые случаи:
101101, [27, 27, 27, 27, 27, 27, 27, 27, 27, 27] == 165.0
1, [13, 25, 3, 4, 10, 8, 92, 3, 3, 100] == 22.5
2, [2, 3, 1, 2, 7, 6, 10, 92, 3, 7] == 2.0