Untitled

Условие: Тип 14 № 40989

Значение выражения записали в системе счисления с основанием 6. Сколько значащих нулей содержится в этой записи?

$$ 2 · 216^8 + 4 · 36^{12} + 6^{15} − 1296

$$

Вариант 1: решение через строковый тип данных

Вариант 1: решение через строковый тип данных

Комментарии к первому варианту решения задачи:

  1. передаем переменной x выражение из условия
  2. создаем строку, которая будет хранить значение выражения в системе счисления с основанием 6

3-5. переводим наше выражение в систему счисления с основанием 6

  1. переворачиваем строку
  2. выводим количество нулей в строке
# Код решения Вариант 1
x = 2 * 216 ** 8 + 4 * 36 ** 12 + 6 ** 15 - 1296
s = ''
while x != 0:
    s += str(x % 6)
    x //= 6
s = s[::-1]
print(s.count('0'))

Вариант 2: решение через список

Вариант 2: решение через список

Комментарии ко второму варианту решения задачи:

  1. передаем переменной x выражение из условия
  2. создаем список, который будет хранить значение выражения в системе счисления с основанием 6

3-5. переводим наше выражение в систему счисления с основанием 6

  1. переворачиваем список
  2. выводим количество нулей в списке
# Код решения Вариант 2
x = 2 * 216 ** 8 + 4 * 36 ** 12 + 6 ** 15 - 1296
M = []
while x > 0:
    M.append(x % 6)
    x //= 6
M.reverse()
print(M.count(0))