В системе счисления с основанием p выполняется равенство zx + xy = zyA.
Буквами x, y, и z обозначены некоторые цифры из алфавита системы счисления с основанием p. Определите значение числа xyzp и запишите это значение в десятичной системе счисления.
Приведём решение на языке Python.
alphabet = sorted('1234567890QWERTYUIOPASDFGHJKLZXCVBNM')
for p in range(11, 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+'A', p):
print(int(x+y+z, p))
Ответ: 1211.
Приведём решение Татьяны Юрченко на языке Python.
for p in range(11,100): # так как в числе есть цифра А
for x in range(0,p):
for y in range (0,p):
if x == y: continue # разные переменные не могут быть одинаковой цифрой
for z in range (1,p): # от 1, так как цифра всегда на 1 месте в числе и не может быть 0
if z == y: continue #разные переменные не могут быть одинаковой цифрой
a = z*p + x
b = x*p + y
c = z*p**2 + y*p + 10
if (a+b)==c:
print(x*p**2 + y*p + z)
exit()

