На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится троичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 3, то слева к нему приписывается «1», а справа «02»;
б) если число N на 3 не делится, то остаток от деления на 3 умножается на 4, переводится в троичную запись и дописывается в конец числа.
Полученная таким образом запись является троичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 11 = 1023 результатом является число 102223 = 107, а для исходного числа 12 = 1103 это число 1110023 = 353.
Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, меньшее 199.
Ответ:
Тренировочный вариант ЕГЭ 2024 по информатике №1 Умскул – задание №5
Решение:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
def troich(n): s='' while n>0: s=str(n%3)+s n=n//3 return s for n in range(1,1000): a=troich(n) if n%3==0: a='1'+a+'02' else: a=a+troich((n%3)*4) r=int(a,3) if r<199: print(n) |
Ответ: 20