Задание №14 — Анализ выражений
#69719Задание №14ФИПИ
Системы счисления
Значение арифметического выражения 3333 + 322 - 9111 - 8 записали в системе cчисления с основанием 3. Сколько цифр «2» содержится в этой записи?
Правильный ответ
131
Пояснение
Решение:
Приведём всё к степеням тройки: , . Тогда
— это 111 двоек в разрядах с 332-го по 222-й, ниже нули.
Далее . Разность даёт 20 двоек в разрядах с 21-го по 2-й, а прибавленная единица становится младшей цифрой. Получаем 20 двоек, затем 0, затем 1.
Итого запись: 111 двоек, 200 нулей, 20 двоек, 0, 1 (всего 333 цифры). Количество двоек: .
def to_base(n, b):
s = ''
while n:
s = str(n % b) + s
n //= b
return s
n = 3**333 + 3**22 - 9**111 - 8
print(to_base(n, 3).count('2')) # 131Ответ: 131