Ctrl K

Числа с окончанием и потолком цифр

Сложная
Даны числа low, high, max_digit и строка ending — запись положительного числа без ведущих нулей. Положительное целое x **подходит**, если его десятичная запись оканчивается на ending (сама ending — тоже допустимое окончание) и каждая цифра x не больше max_digit. Верните количество подходящих чисел на отрезке [low, high] (оба конца включены).
Пример 1
low=10, high=500, max_digit=3, ending="21" → 4

Подходят 21, 121, 221 и 321: каждое оканчивается на 21 и состоит из цифр не больше 3. Число 421 не подходит из-за цифры 4.

Пример 2
low=1, high=99, max_digit=9, ending="7" → 10

Это 7, 17, 27, ..., 97 — десять чисел.

Пример 3
low=100, high=450, max_digit=5, ending="500" → 0

Любое число с окончанием 500 не меньше 500, а отрезок кончается на 450.

Ограничения
  • 1 ≤ low ≤ high ≤ 10¹⁵
  • 1 ≤ max_digit ≤ 9
  • 1 ≤ len(ending) ≤ число цифр в high
  • ending состоит из цифр не больше max_digit и не начинается с нуля
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧисла с рабочих клавиш СложнаяПереключить выход схемы СложнаяПроверка контрольной по арифметике СложнаяСекции по два кресла СложнаяЧисла с суммой цифр в заданных рамках Сложная
загружаем Python…
Вход
low=10, high=500, max_digit=3, ending="21"
Ожидается
4

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