Ctrl K

Все числа на ленте

Средняя
Старый перфоратор выдал ленту tape — строку из символов 0 и 1. Число считается «записанным на ленте», если его двоичная запись (без ведущих нулей) встречается в tape как подстрока, то есть как кусок подряд идущих символов. Дано целое limit. Верните True, если на ленте записаны все числа от 1 до limit включительно, иначе False.
Пример 1
tape='01101', limit=5 → False

1 = 1, 2 = 10, 3 = 11, 4 = 100, 5 = 101. На ленте есть 1, 10, 11, 101, но нет 100, поэтому ответ False.

Пример 2
tape='11000', limit=4 → True

1, 10, 11 и 100 все встречаются подряд идущими символами ленты.

Пример 3
tape='000', limit=1 → False
Ограничения
  • 1 ≤ len(tape) ≤ 1000
  • tape состоит только из 0 и 1
  • 1 ≤ limit ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный фрагмент без повторов СредняяСамый длинный зеркальный кусок СредняяЗмейка по строкам СредняяСнисходительное чтение числа СредняяЧисло римскими цифрами Средняя
загружаем Python…
Вход
tape='01101', limit=5
Ожидается
False

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 99 тестов на сервере, включая скрытые.