Операнды арифметического выражения записаны в системах счисления с основаниями
x231y12 + 78x98y14.
В записи чисел
При помощи цикла for будем перебирать
Приведём решение на языке Python.
result_search = []
for x in '0123456789AB':
for y in '0123456789AB':
t = int(x + '231' + y, 12) + int('78' + x + '98' + y, 14)
if t % 99 == 0:
result_search.append(t)
if result_search:
print(min(result_search) // 99)
Ответ: 41428.
Приведём решение Ильи Андрианова на языке Python.
alphabet = sorted('0123456789QWERTYUIOPASDFGHJKLZXCVBNM')
for x in alphabet[:12]:
for y in alphabet[:12]:
A = int(f'{x}231{y}', 12)
B = int(f'78{x}98{y}', 14)
if (A + B) % 99 == 0:
print((A + B) // 99)
exit()
Приведём решение Юрия Красильникова на языке Python.
d='0123456789AB'
a=[int(f'{x}231{y}',12)+int(f'78{x}98{y}',14) for x in d for y in d]
print(min([x for x in a if x%99==0])//99)
Приведём решение Сергея Донец на языке PascalABC.NET.
uses School;
begin
var alph := (('0'..'9') + ('A'..'Z')).ToArray[:12];
var minVal := MaxInt;
var ans := 0;
var d := 99;
foreach var x in alph do
foreach var y in alph do begin
var a := Dec($'{x}231{y}',12);
var b := Dec($'78{x}98{y}',14);
var s := a + b;
if (s mod d = 0) and (s < minVal)
then begin
minVal := s;
ans := s div d;
end;
end;
ans.Print;
end.

