Интересные числа
Софья считает число интересным, если его цифры идут в неубывающем порядке. Например, числа 123, 1111 или 888999 — интересные.
Софья заинтересовалась, сколько существует интересных положительных чисел, лежащих в диапазоне от L до R включительно. Это число может оказаться довольно большим для больших L и R, поэтому Софья хочет найти остаток от деления этого числа на 10^9+7.
Требуется написать программу, которая по заданным L и R определяет количество интересных чисел, лежащих в диапазоне от L до R включительно, и выводит остаток от деления этого числа на 10^9+7.
Входные данные
Первая строка входных данных содержит число L, вторая строка содержит число R (1≤L≤R≤10^100).
Выходные данные
Выведите одно целое число — остаток от деления количества интересных чисел, лежащих в диапазоне от L до R включительно, на 10^9+7.
Answers & Comments
Ответ: Так как в ВОПРОСЕ ничего не говорилось про время выполнения, то лови решение (В Сириусе не пройдёт =) )
L = int(input())
R = int(input())
Delitel = 1000000007
Count = 0
x = []
for i in range(L, R):
for j in str(i):
x.append(int(j))
for j in range(len(x) - 1):
if x[j] <= x[j + 1]:
pass
else:
break
else:
Count += 1
x = []
print(Count % Delitel)
Суть решения: Берём все числа на отрезке от L до R, разбиваем каждое такое число на цифры разряда и если проходя по этим цифрам они удовлетворяют условию (arr[i] <= arr[i - 1]), то мы добавляем к Count единичку!