🔹 Шаг 1. Подсчёт нулей в 5-ричной записи
best_x = 0
best_zeros = -1
for x in range(1, 2031):
val = 5**150 + 5**100 - x
s = ""
n = val
while n > 0:
n, r = divmod(n, 5)
s = str(r) + s
if val == 0:
s = "0"
zeros = s.count("0")
if zeros > best_zeros or (zeros == best_zeros and x > best_x):
best_zeros = zeros
best_x = x
print(best_x)
📌 Результат: для значения выражения считаем нули в 5-ричной записи.
🔹 Шаг 2. Наибольшее x при максимальном числе нулей
best_x = 0
best_zeros = -1
for x in range(1, 2031):
val = 5**150 + 5**100 - x
s = ""
n = val
while n > 0:
n, r = divmod(n, 5)
s = str(r) + s
if val == 0:
s = "0"
zeros = s.count("0")
if zeros > best_zeros or (zeros == best_zeros and x > best_x):
best_zeros = zeros
best_x = x
print(best_x)
📌 Результат: перебираем x от 1 до 2030; ищем максимальное количество нулей; при равенстве берём наибольшее x; ответ: 1875.