Задания
Версия для печати и копирования в MS Word
Тип 14 № 75278
i

В си­сте­ме счис­ле­ния с ос­но­ва­ни­ем p вы­пол­ня­ет­ся ра­вен­ство y18x + wy98 = xxz4y. Бук­ва­ми x, y, z и w обо­зна­че­ны не­ко­то­рые цифры из ал­фа­ви­та си­сте­мы счис­ле­ния с ос­но­ва­ни­ем p.

Опре­де­ли­те зна­че­ние числа xyzwp и за­пи­ши­те это зна­че­ние в де­ся­тич­ной си­сте­ме счис­ле­ния.

Спрятать решение

Ре­ше­ние.

При­ведём ре­ше­ние дан­ной за­да­чи на языке Python.

for p in range(10, 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) + 1 * (p**2) + 8 * (p**1) + x

r = w * (p**3) + y * (p**2) + 9 * (p**1) + 8

t = x * (p**4) + x * (p**3) + z * (p**2) + 4 * (p**1) + y

if s + r == t:

print(x * (p**3) + y * (p**2) + z * (p**1) + w)

 

Ответ: 3866.

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

d = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'

for p in range(10,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}18{x}',p)+int(f'{w}{y}98',p)==int(f'{x}{x}{z}4{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}18{x}', p);

var b := Horner($'{w}{y}98', p);

var c := Horner($'{x}{x}{z}4{y}', p);

if a+b=c then begin

Println(Horner($'{x}{y}{z}{w}', p));

exit; end; end;

end.