Операнды арифметического выражения записаны в системе счисления
8x84x16 + 78x3416.
В записи чисел
При помощи цикла for будем
Приведём решение на языке Python.
for x in '0123456789ABCDEF':
t = int('8' + x + '84' + x, 16) + int('78' + x + '34', 16)
if t % 23 == 0:
print(t // 23)
Ответ: 45963.
Приведём решение Егора Чернецова на языке Python.
from string import printable
for x in printable[:16]:
f = int(f'8{x}84{x}', 16) + int(f'78{x}34', 16)
if f % 23 == 0:
print(f // 23)
Приведём решение Сергея Донец на PascalABC.NET:
function Horner(s: string; baseN, x: integer): int64;
begin
var d:= (('0'..'9')+('A'..'Z')).ToArray;
Result := 0;
foreach var ch in s do
Result := Result * baseN + (ch = 'x' ? x : d.IndexOf(ch));
end;
begin
var sa:='8x84x';
var sb:='78x34';
var p:=16;
var d:=23;
for var x:=0 to p-1 do begin
var summ:=Horner(sa, p, x)+Horner(sb, p, x);
if summ mod d=0 then begin
Println(summ div d);exit;end;
end;
end.

