14.10.2026

21261

(О. Лысенков) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1. Строится четверичная запись числа N.

2. Далее эта запись обрабатывается по следующему правилу:

а) если сумма цифр четверичной записи кратна 3, то все нули в записи меняются на 2, а все 2 меняются на нули, после к числу приписывается 32 слева;

б) если сумма цифр четверичной записи не кратна 3, то к записи справа приписывается 33, после второй и третий разряд, полученной записи, меняются на 1 и 0 соответственно, разряды нумеруются слева направо, начиная с 1.

Полученная таким образом запись является четверичной записью искомого числа R.

Укажите максимальное число N, для которого результатом работы алгоритма является наименьшее число R, превышающее 320.

В ответе это число запишите в десятичной системе счисления.

for n in range(1,10000):
N=n
# пункт 1
ishod_n = n
rezultat = ''
while n > 0:
ostatok = n % 4
rezultat = str(ostatok) + rezultat
n = n // 4
# print('Число', ishod_n, 'в четверичной системе равно:', rezultat)

sum_cifr=0
for i in range(0,len(rezultat)):
sum_cifr+= int(rezultat[i])
# print(sum_cifr)
# шаг А
if sum_cifr % 3 == 3:
a=rezultat.replace("0","x")
b=a.replace("2","0")
rezultat=b.replace("x","2")
rezultat="32"+rezultat
# print(rezultat)
else:
# шаг Б
rezultat= rezultat[0] + "10" + rezultat[3::] + "33"
# print(rezultat)
r=int(rezultat,4)
if r==335:
print(N,r)