Сколько двоек в троичной записи числа
Решение 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:
Так как нас просят узнать количество двоек в троичной системе, представим все числа как степени тройки, а 17, поскольку оно не является степенью тройки, перевдем в троичную систему счисления, получим:
Тогда наше выражение имеет вид:
Так как – это единицы с некоторым количеством нулей, при их сложении получится число, у которого в конце более трёх нулей, значит, при сложении с
в итоговом числе будет две двойки.