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

В си­сте­ме счис­ле­ния с ос­но­ва­ни­ем p вы­пол­ня­ет­ся ра­вен­ство zx + xy  =  zyB.

Бук­ва­ми x, y, и z обо­зна­че­ны не­ко­то­рые цифры из ал­фа­ви­та си­сте­мы счис­ле­ния с ос­но­ва­ни­ем p. Опре­де­ли­те зна­че­ние числа xyzp и за­пи­ши­те это зна­че­ние в де­ся­тич­ной си­сте­ме счис­ле­ния.

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

Ре­ше­ние.

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

alphabet = sorted('1234567890QWERTYUIOPASDFGHJKLZXCVBNM')

for p in range(12, 36+1):

for x in alphabet[1:p]:

for y in alphabet[:p]:

for z in alphabet[1:p]:

if int(z+x, p) + int(x+y, p) == int(z+y+'B', p):

print(int(x+y+z, p))

Ответ: 1585.

 

При­ведём ре­ше­ние Ми­ха­и­ла Глин­ский на языке Python.

for p in range (11,20):

for x in range(1, p):

for y in range(0,p):

for z in range(1,p):

if z*p+x+x*p+y==z*p**2+y*p+11:

print(x*p**2+y*p+z)

 

При­ведём ре­ше­ние Сер­гея Донец на PascalABC.NET:

uses School;

begin var d := (('0'..'9') + ('A'..'Z')).ToArray;

for var p:=12 to 36 do foreach var x in d[1:p] do

foreach var z in d[1:p] do

foreach var y in d[:p] do begin var a := Dec($'{z}{x}', p);

var b := Dec($'{x}{y}', p);

var c := Dec($'{z}{y}B', p);

if a+b=c then begin

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

exit;

end;

end;

end.