Задача к ЕГЭ по информатике на тему «арифметические выражения» №2

Сколько двоек в троичной записи числа 315 + 93 + 812 + 17?

Решение Python:

a = 3**15 + 9**3 + 81**2 + 17
# Перевод выражения в 3сс
s = ’’
while a > 0:
    s = str(a % 3) + s
    a //= 3
print(s.count(’2’))

Решение руками:

Для начала стоить отметить, что любое десятичное число A в n-ой степени можно записать как единицу и n нулей в системе счисления с основанием A:         ◜-◞n◟--◝ An10 = 1 00...000 .            A

Так как нас просят узнать количество двоек в троичной системе, представим все числа как степени тройки, а 17, поскольку оно не является степенью тройки, перевдем в троичную систему счисления, получим:

1710 = 32 + 2 ⋅ 3 + 2 = 1223

Тогда наше выражение имеет вид:  15    9    8 3  +  3 + 3  + 1223.

Так как  15  9  8 3 ,3 ,3   – это единицы с некоторым количеством нулей, при их сложении получится число, у которого в конце более трёх нулей, значит, при сложении с 1223   в итоговом числе будет две двойки.

Ответ: 2
Оцените статью
Я решу все!