Присоединиться

11 класс·средний уровень

N. Алгоритм строит по нему новое число R следующим образом. 1. Строится

Условие

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится троичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу: а) если число N делится на 3, то слева к нему приписывается «1», а справа «02»; б) если число N на 3 не делится, то остаток от деления на 3 умножается на 4, переводится в троичную запись и дописывается в конец числа. Полученная таким образом запись является троичной записью искомого числа R. 3. Результат переводится в десятичную систему и выводится на экран.

Например, для исходного числа 11₁₀ = 102₃ результатом является число 10222₃ = 107₁₀, а для исходного числа 12₁₀ = 110₃ — это число 111002₃ = 353_(10.) Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число R, не превышающее 250.

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Приведём решение на языке Python. def f(n): s='' while n > 0: s = str(n%3) + s n //= 3 return sc = []for n in range(1000): s = f(n) if n%3 == 0: s = '1' + s + '02' else: s = s + f(n%3*4) r = int(s,3) if r <= 250: c.append(n)print(max(c))

Осталось ещё 1 шаг

  1. Приведём решение Сергея Донец на…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Анализ и построение алгоритмов для исполнителей»