Интересные числа
Софья считает число интересным, если его цифры идут в неубывающем порядке. Например, числа 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.


zlm01: это ведь очень сложно!!!
zlm01: Я знаю некоторых кто разбирается в информатике
WhalesNik: Мне бы просто решение либо на c++ либо на python, но лучше на c++, потому что с python'а мне придётся под c++ переделывать
zlm01: Вот кст его ник onetfriend--у него более 800 ответов по информат
zlm01: Он есть в моих подписках
zlm01: Зайди в мой профиль нажми на подписки в первом месте есть Onetfriend
zlm01: нажми на его ник и нажми на инфоматику
zlm01: Нажми на любую из его ответов!
zlm01: Потом там есть галочка (типа сообщения) нажми на него и попроси помощи он хорошо разбирается в информатике
zlm01: Надеюсь что ты понял

Ответы

Ответ дал: DeMoN542
0

Ответ: Так как в ВОПРОСЕ ничего не говорилось про время выполнения, то лови решение (В Сириусе не пройдёт =) )

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 единичку!


DeMoN542: Я знаю что решение ужаааааасное!
zlm01: крассавчег!! кст помоги пж с советами по книгам для изучения информатики!! т.е хочу решать как ты!
zlm01: Кст что бы перевести период дроб в обычную например 0,6(7)=0,677777... нужно сделать так: 67,1/99=61/90
DeMoN542: Это как бы решение такое себе по времени выполнения если что
zlm01: ты ч
Вас заинтересует