Автор: Демоверсия 2025
Уровень: Базовый
Условие задачи:
Значение арифметического выражения
7**170 + 7**100−x, где x – целое положительное число, не превышающее 2030, записали в 7-ричной системе счисления. Определите наибольшее значение x, при котором в 7-ричной записи числа, являющегося значением данного арифметического выражения, содержится ровно 71 нуль.
Теоретическая справка:
Это новый прототип 14 номера, который был выдан на основной волне 2024 года. Прошу заметить, что от обычного прототипа эта задача отличается двумя дополнительными строками!
Код решения:
Комментарии к коду:
- for x in range(2030+1):
Запускаем цикл, перебирая числа от 0 до 2030 включительно. - n = 7**170 + 7**100 - x
Вычисляем значение n как разность между суммой больших степеней числа 7 и текущим значением x. - b = 7
Устанавливаем основание системы счисления b равным 7. - R = []
Инициализируем пустой список R, который будет использоваться для хранения цифр числа n в системе счисления с основанием b. - while n > 0:
Запускаем цикл, который продолжается до тех пор, пока n больше 0. - R = [n % b] + R
Добавляем остаток от деления n на b (последнюю цифру в системе счисления) в начало списка R. - n //= b
Обновляем значение n, целочисленно деля его на b, чтобы перейти к следующей цифре. - if R.count(0) == 71:
Проверяем, содержит ли список R ровно 71 ноль. - print(x)
Если условие выполнено, выводим текущее значение x.
Второй канал про теорию Python📱