На вход алгоритма подаётся натуральное число \(N.\) Алгоритм строит по нему новое число \(R\) следующим образом.
Полученная таким образом запись является троичной записью искомого числа \(R.\)
Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа \(8_{10} = 22_3\) результатом является число \(2222_3 = 80_{10},\) а для исходного числа \(9_{10} = 100_3\) это число \(10000_3 = 81_{10}.\)
Укажите
Решение:
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 tr[-1] == '0':
tr += tr[-2:]
else:
tr += conv(sum(int(z) for z in tr) * 2)
return int(tr, 3)
#print(R(9))
res = []
for n in range(10, 1000):
r = R(n)
if r % 2 == 1 and r > 520:
res.append(r)
print(min(res))
Ответ: \(567\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене