Задание №14 — Анализ выражений
#69665Задание №14ФИПИ
Системы счисления
Значение арифметического выражения
записали в системе счисления с основанием 8. Определите количество цифр 7 в записи этого числа.
Правильный ответ
1015
Пояснение
Решение:
Переведём все слагаемые в степени восьмёрки: , , , , . Тогда
Каждое вычитание берёт заём у ближайшей слева ненулевой цифры и превращает промежуточные нули в максимальные цифры 7. Раскрыв все заёмы, получаем восьмеричную запись из 1349 цифр:
1, затем 327 нулей, затем 4, затем 671 семёрка, затем 1, затем 237 семёрок, затем 4, затем 107 семёрок, затем 6, 3, 4.
Количество семёрок: .
Тот же результат даёт программа:
def to_base(n, b):
s = ''
while n:
s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"[n % b] + s
n //= b
return s
n = 4**2022 - 6 * 4**522 + 5 * 64**510 - 3 * 2**330 - 100
print(to_base(n, 8).count('7')) # 1015Ответ: 1015