Операнды арифметического выражения записаны в системе счисления с основанием 47:
1x24A47 + x202447 – 6x0847
В записи чисел переменная x обозначает некоторую ненулевую цифру из алфавита 47-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 46.
Для найденного x вычислите значение данного арифметического выражения и укажите его в ответе в десятичной системе счисления.
Приведём решение на языке Python.
for x in range(1, 47):
n1 = 1 * 47**4 + x * 47**3 + 2 * 47**2 + 4 * 47 + 10
n2 = x * 47**4 + 2 * 47**3 + 0 * 47**2 + 2 * 47 + 4
n3 = 6 * 47**3 + x * 47**2 + 0 * 47 + 8
n = n1 + n2 - n3
if n % 46 == 0:
print(n); break
Ответ: 178814420.
Приведём решение Сергея Донец на PascalABC.NET:
uses School;
var ass:=(('0'..'9')+('A'..'Z')+('a'..'z')).toArray;
function Horner(s: string; baseN: integer): BigInteger;
begin Result := 0;
foreach var ch in s do
Result := Result * baseN + ass.IndexOf(ch);
end;
begin
var p := 47;
foreach var x in ass[1:p] do begin
var M := Horner($'1{x}24A', p);
var N := Horner($'{x}2024', p);
var K := Horner($'6{x}08', p);
var s:=m+n-k;
var d:=p-1;
if s mod d=0 then begin
Println(s);exit;
end;end;
end.

