В системе счисления с основанием p выполняется равенство
Определите значение числа xyzwp и запишите это значение в десятичной системе счисления.
Заметим, исходя из использованных чисел, основание системы счисления
Таким образом, xyzwp= 17A612 =
Приведём решение данной задачи на языке Python.
for p in range(9, 15):
for x in range(p):
for y in range(p):
for z in range(p):
for w in range(p):
s = y * (p**3) + 2 * (p**2) + 7 * (p**1) + x
r = w * (p**3) + y * (p**2) + 8 * (p**1) + 6
t = x * (p**4) + x * (p**3) + z * (p**2) + 3 * (p**1) + y
if s + r == t:
print(x * (p**3) + y * (p**2) + z * (p**1) + w)
Ответ: 2862.
Приведём решение Юрия Красильникова на языке Python.
d = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
for p in range(9,36):
for x in d[:p]:
for y in d[:p]:
for z in d[:p]:
for w in d[:p]:
if int(f'{y}27{x}',p)+int(f'{w}{y}86',p)==int(f'{x}{x}{z}3{y}',p):
print(int(f'{x}{y}{z}{w}',p))
Приведём решение Сергея Донец на PascalABC.NET:
var d := (('0'..'9') + ('A'..'Z')).ToArray;
function Horner(s: string; baseN: integer): Integer;
begin Result := 0;
foreach var ch in s do
Result := Result * baseN + d.IndexOf(ch);
end;
begin
for var p:=9 to 36 do
foreach var x in d[:p] do
foreach var y in d[:p] do
foreach var z in d[:p] do
foreach var w in d[:p] do begin
var a := Horner($'{y}27{x}', p);
var b := Horner($'{w}{y}86', p);
var c := Horner($'{x}{x}{z}3{y}', p);
if a+b=c then begin
Println(Horner($'{x}{y}{z}{w}', p));
exit; end; end;
end.

