
№ 10707 (Уровень: Средний)
(PRO100 ЕГЭ) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
Строится шестеричная запись числа N.
Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 3, то к этой записи дописываются две первые шестеричные цифры;
б) если число N на 3 не делится, то остаток от деления на 3 умножается на 10, переводится в шестеричную запись и дописывается в конец числа.
Полученная таким образом запись является шестеричной записью искомого числа R.
Например, для исходного числа 11_10 результатом является число 416_10, а для исходного числа 12_10 это число 444_10.
Укажите минимальное число R, большее 680, которое может быть получено с помощью описанного алгоритма. В ответе запишите это число в десятичной системе счисления.

Комментарии к решению:
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM') - Создание списка alphabet, содержащего отсортированные символы '0123456789QWERTYUIOPASDFGHJKLZXCVBNM', то есть 36-ный алфавит и все меньшие алфавиты.def my_convert(x, n): - Объявление функции my_convert с двумя аргументами x и n, где х переводимое число, а n - система счисления.s = '' - Инициализация пустой строки s, куда будем складывать остатки от деления.while x > 0: - Цикл while, который выполняется, пока x не станет нулем (мы же его делим).s += alphabet[x % n] - Добавление символа из списка alphabet, соответствующего остатку от деления x на n, в строку s, такой способ помогает нам складывать буквы вместо двузначных числе, например 10 == А.