Сколько цифр, отличных от нуля, в восьмеричной записи числа ?
Решение Python:
a = int(oct(2**100 + 2**48 + 2**32 + 2**13 + 2**7 + 2 + 1)[2:])
c = 0
while a > 0:
if a % 10 != 0:
c += 1
a //= 10
print(c)
Решение руками:
Переведём данную сумму в удобную форму для основания 8 нашей системы счисления:
Соответственно, число имеет вид , где 3 стоит в первом разряде, 2 стоит в третьем разряде, 2 стоит в пятом разряде, 4 стоит в 11 разряде, 1 стоит в 17 разряде, 2 стоит в 34 разряде. Таким образом, ровно 6 цифр отличны от нуля в восьмеричной записи данного числа.
Ответ: 6