Значение арифметического выражения 5150 + 5100 – x, где x — целое положительное число, меньшее 2030, записали в пятеричной системе счисления. Определите наименьшее значение x, при котором количество нулей в пятеричной записи числа, являющегося значением данного арифметического выражения, максимально.
В ответе запишите число в десятичной системе счисления.
Приведём решение на языке Python.
maxi = 0
otv = 0
for x in range (2030, 1, -1):
t = 5**150 + 5**100 - x
c = 0
while t != 0:
if t % 5 == 0:
c += 1
t //= 5
if c >= maxi:
otv = x
maxi = max(c,maxi)
print(otv)
Ответ: 625.
Приведём решение Сергея Донец на языке PascalABC.NET.
uses School;
begin
var maxnol:=0;
var bestx:=0;
for var x:=1 to 2030-1 do begin
var nolcnt:=(5bi**150+5bi**100-x).Digits(5).CountOf(0);
if nolcnt>maxnol then (maxnol,bestx):=(nolcnt,x);end;
bestx.Print;
end.

