РЕШЕНИЕ 14 НОМЕРОВ (3/4)
Условие задачи
Значение выражения 7·9²¹⁰ + 6·9¹¹⁰ – x, где x — целое положительное число, не превышающее 2400, записали в 9-ричной СС. Определите наибольшее x, при котором в записи ровно 100 нулей.
Алгоритм решения
1. Перебираем x от 1 до 2400: На каждой итерации вычисляем выражение: a = 7 * 9**210 + 6 * 9**110 - x.
2. Переводим и считаем нули: Два варианта: через перевод с .count('0') или сразу в цикле while проверяя остаток.
3. Ищем максимум: Перезаписываем ans = x при каждом совпадении — в конце останется наибольший.
Способ 1: перевод + count
Переводим число в строку (основание ≤ 9 → можно строку), затем считаем нули через .count('0'):
1 2 3 4 5 6 7 8 9 10
Способ 2: счётчик прямо в цикле
Вместо того чтобы строить строку и потом считать нули, можно проверять остаток a % 9 == 0 прямо во время перевода и сразу прибавлять к счётчику:
1 2 3 4 5 6 7 8 9 10 11
Принцип: a % 9 — это очередная цифра 9-ричной записи. Если она равна 0, прибавляем счётчик. Строка вообще не нужна, тк мы не переводим в 9 сс, сразу получаем количество нулей.
Важное замечание
Строка vs список: для оснований ≤ 9 подойдёт строка (s.count('0')). Для оснований > 9 (25, 49, 100) - только список.
Способ со счётчиком работает для любого основания: не важно, строка или список. Проверяем a % b == 0 и всё. Можно проверять любое условие: == 0, > 9, чётность и т.д.
Ответ: 234
Решите задачи, чтобы усвоить материал
Решить в Личном КабинетеЗначение арифметического выражения 3⋅9\(^9\)+2⋅9\(^6\)+9\(^3\)−x, где х - целое положительное число, не превышающее 27 000, записали в 9-ричной системе счисления. Определите наименьшее значение х, при котором в 9-ричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 8 нулей.
В ответе запишите число в десятичной системе счисления.
Значение арифметического выражения 6\(^{260}\)+ 6\(^{160}\) + 6\(^{60}\) – х, где х – целое положительное число, не превышающее 2030, записали в 6-ричной системе счисления. Определите наименьшее значение х, при котором количество нулей в 6-ричной записи числа, являющегося значением данного арифметического выражения, равно 203. В ответе запишите число в десятичной системе счисления.
