ЕГЭ · ЗАДАНИЕ 14
Системы счисления · №31121
Число (5^150 + 5^100) − x записывают в системе с основанием 5. Переменная x — целое число от 1 до 2030 включительно. Найдите наибольшее x среди тех, при которых число нулей максимально. Ответ запишите десятичным числом.
Источник задания
Сначала попробуй решить самостоятельно, затем открой разбор. Для автоматической проверки ответа включи JavaScript.
Показать решение по шагам
Разбор решения
Ответ: 1875
Перебираем ровно x=1…2030; для каждого заново берём fixed−x. Цифры извлекаем остатками, обнуляя счётчик при каждом новом x. Сначала находим экстремум количества нулей, затем, если нужно, выбираем крайнее x среди всех достигших его. В выбранном случае нулей 54. В ответ идёт x=1875, а не 54. Границы конечного перебора прямо заданы условием; верхняя включена.
def digits(n, base):
if n == 0:
return [0]
result = []
while n > 0:
result.append(n % base)
n //= base
return result
fixed = 5**150 + 5**100
results = []
for x in range(1, 2031):
zeros = digits(fixed - x, 5).count(0)
results.append((x, zeros))
best_zeros = max(z for x, z in results)
valid = [x for x, z in results if z == best_zeros]
print(max(valid))