Операнды арифметического выражения записаны в системе счисления с основанием 39:
653x7139 + 42x3739.
В записи чисел переменной x обозначена неизвестная цифра из алфавита 39-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения в десятичной системе счисления кратно 14. Для найденного значения x вычислите частное от деления значения арифметического выражения на 14 и укажите его в ответе. Основание системы счисления в ответе указывать не нужно.
Приведём решение на языке Python.
for x in range(39):
t1 = 6*39**5 + 5*39**4 + 3*39**3 + x*39**2 + 7*39**1 + 1*39**0
t2 = 4*39**4 + 2*39**3 + x*39**2 + 3*39**1 + 7*39**0
t = t1 + t2
if t % 14 == 0:
print(t//14)
break
Ответ: 40176157.
Приведём решение Сергея Донец на языке PascalABC.NET.
function ToNm(digs: array of integer; base: integer): int64;
begin
Result := 0;
foreach var d in digs do
Result := Result * base + d;
end;
begin
var p := 39;
var s1 := '653x71';
var s2 := '42x37';
var d := 14;
for var x := 0 to p-1 do
begin
var n1 := s1.Select(ch -> ch.IsDigit ? ch.ToDigit : ch = 'x' ? x : -1).ToArray;
var n2 := s2.Select(ch -> ch.IsDigit ? ch.ToDigit : ch = 'x' ? x : -1).ToArray;
var num := ToNm(n1, p) + ToNm(n2, p);
if num mod d = 0 then
begin
(num div d).Print;
exit;
end;
end;
end.

