Задание 5. Информатика. ЕГЭ. Поляков-7666
- Просмотры: 97
- Изменено: 21 февраля 2025
*(П. Финкель) На вход алгоритма подаётся пятизначное натуральное число \(N.\) Алгоритм строит по нему новое число R следующим образом:
- Число \(N\) переводится в двадцатеричную систему счисления.
- Далее эта запись обрабатывается по следующему правилу:
- а) гласные буквы \((A, \, E, \, I)\) заменяются на \(1;\)
- б) в конец полученной записи дописывается остаток от деления числа \(N\) на \(20\) в двадцатеричной системе счисления;
- в) первая цифра переставляется в конец записи.
- Действия а)-в) в п. 2. повторяются еще раз.
Полученная таким образом запись является записью искомого числа \(R\) в двадцатеричной системе счисления. Укажите максимальное число \(R,\) кратное \(2030,\) которое может быть получено в результате работы алгоритма. Запишите его в ответе в десятичной системе счисления.
Решение:
Python
def conv(x):
alph = '0123456789ABCDEFGHIJ'
ans = ''
while x:
ans = alph[x % 20] + ans
x //= 20
return ans
def R(x):
tmp = conv(x)
for _ in range(2):
for ch in 'AEI':
tmp = tmp.replace(ch, '1')
tmp += conv(x % 20)
tmp = tmp[1:] + tmp[0]
return int(tmp, 20)
max_R = 0
for N in range(10_000, 100_000):
tmp = R(N)
if tmp % 2030 == 0:
max_R = max(max_R, tmp)
print(max_R)
Ответ: \(63656740\)