EGEsoll - сборник решений задач из ЕГЭ

Задача 1

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

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

2.В полученной записи все нули заменяются на двойки, все двойки— на нули. Из полученного числа удаляются ведущие нули.

3.Результат переводится в десятичную систему счисления.

4.Результатом работы алгоритма становится модуль разности исходного числа N и числа, полученного на предыдущем шаге.

Пример. Дано число N=35. Алгоритм работает следующим образом.

1.Строим троичную запись числа N: 3510=10223.

2.Заменяем цифры и удаляем ведущие нули: 1022 → 1200.

3.Переводим в десятичную систему: 12003=4510.

4.Вычисляем модуль разности: |35−45|=10.

Результат работы алгоритма R=10.

При каком наименьшем N в результате работы алгоритма получится R=1 864 246.

Добавлено: 22.03.26 14:15

Перейти к решению

Решение

Решение на языке Python

for N in range(1864245, 10**10):
    s = ""
    while N > 0:
        s += str(N % 3)
        N //= 3
    s = s[::-1]
    R = s.replace("0", "*").replace("2", "0").replace("*", "2")
    if abs(int(s, 3) - int(R, 3)) == 1864246:
        print(int(s, 3))
        break

Ответ: 3323607

Автор - rubygem17

Объяснение

None

Назад