Информатика. ЕГЭ
Задания для подготовки
Задачи разных лет из реальных экзаменов, демо-вариантов, сборников задач и других источников
Задание 5. Информатика. ЕГЭ. Основная волна. Резерв. 23.06.2025
- Просмотры: 1468
- Изменено: 21 августа 2025
На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
- Строится троичная запись числа \(N.\)
- Далее эта запись обрабатывается по следующему правилу.
- а) если число \(N\) делится на \(3,\) то слева дописывается «\(1\)», а справа — «\(02\)».
- 6) если число \(N\) на \(3\) не делится, то остаток от деления числа на \(3\) умножается на \(4,\) переводится в троичную запись и дописывается в конец числа.
- Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа \(6 = 20_3\) результатом является число \(12002_3 = 137,\) а для исходного числа \(11_{10} = 102_3\) результатом является число \(10222_{3} = 107_{10}.\)
Укажите максимальное число \(N,\) после обработки которого с помощью этого алгоритма получается число \(R,\) меньшее чем \(199.\)
Решение:
Python
def conv(n):
alph = '012'
ans = ''
while n:
ans = alph[n % 3] + ans
n //= 3
return ans
def R(N):
tr = conv(N)
if N % 3 == 0:
tr = '1' + tr + '02'
else:
tr += conv(N % 3 * 4)
return int(tr, 3)
#print(R(6), R(12))
print(max(N for N in range(3, 200) if R(N) < 199))
Ответ: \(20\)
Обсуждение задания
Здесь пока нет ни одного комментария. Будьте первым!


