Ctrl K

Буква на размноженной ленте

Средняя
Печатная машинка читает строку-шаблон pattern слева направо и печатает на ленту: - встретив букву, дописывает её в конец ленты; - встретив цифру d, превращает всю текущую ленту в d её копий подряд (то есть дописывает ещё d - 1 копию). Лента может получиться астрономически длинной, поэтому печатать её целиком не стоит. Верните k-ю букву готовой ленты (нумерация с единицы).
Пример 1
pattern='ab3c2', k=8 → 'a'

Лента растёт так: ab → ababab → abababc → abababcabababc. Восьмая буква — a.

Пример 2
pattern='xy2z9', k=45 → 'z'

После xy2z на ленте xyxyz (5 букв), после 9 — 45 букв. Последняя из них — z.

Пример 3
pattern='q777777', k=100000 → 'q'

Лента состоит из одних q, её длина 7⁶ = 117649, так что любая её буква — q.

Ограничения
  • 2 ≤ len(pattern) ≤ 100
  • pattern состоит из строчных латинских букв и цифр от 2 до 9 и начинается с буквы
  • 1 ≤ k ≤ 10⁹
  • k не больше длины ленты, а длина ленты меньше 2⁶³
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПричесать путь к папке СредняяКалькулятор на четыре действия СредняяКаждая буква по разу СредняяЗапись дерева с решётками СредняяДлина самого длинного пути к файлу Средняя
загружаем Python…
Вход
pattern='ab3c2', k=8
Ожидается
'a'

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