Значение арифметического выражения 29293 + 29271 − х, где х — натуральное число, не превышающее 8410, записали в 29-ричной системе счисления. Определите максимальное количество нулей в 29-ричной записи числа, являющегося значением данного арифметического выражения. В ответе запишите только целое число.
Приведём решение на языке Python.
m = []
for x in range (1,8411):
s = 29**293 + 29**271 - x
t = 0
while s:
if s % 29 == 0:
t += 1
s //= 29
m.append(t)
print(max(m))
Ответ: 24.
Приведём решение Александра Козлова на языке Python.
a, b, m = 29**293, 29**271, 0
for x in range(8410, 0, -1):
n, c = a + b - x, 0
while n:
c += (n % 29 == 0)
n //= 29
m = max(m, c)
print(m)
Приведём решение Сергея Донец на PascalABC.NET:
uses School;
begin
var xm:=1;
var mx:=-MaxInt;
for var x:=1 to 8410 do begin
var vc:=(29bi**293+29bi**271-x).Digits(29).CountOf(0);
if vc>mx then (xm,mx):=(x,vc);end;
Print(mx);
end.

