431 подписчик
Задача №14 (6010) (И. Карпачев)
Дано арифметическое выражение:
57Ax9(16) · 54x(8)
В записи чисел переменной x обозначена неизвестная цифра. При каком наибольшем значении переменной х, сумма цифр значения этого выражения, записанного в 12-ричной системе счисления, равна 40? В ответе для найденного значения x укажите значение выражения в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Решение:
## uses school;
for var x:=0 to 7 do
begin
var a:=5*16bi**4 + 7*16bi**3+10*16bi**2+x*16+9;
var b:=5*8bi**2+4*8+x;
var q:=a*b;
var s:=ToBase(q,12);
//println(s);
{1 способ подсчета суммы}
var sum:=0bi;
while q<>0 do
begin
sum+=q mod 12;
q:=q div 12;
end;
if sum = 40 then
println(x,a*b);
{2 способ подсчета суммы}
if s.Where(x->x.IsDigit).Select(y->y.ToDigit).Sum +
s.CountOf('A')*10+s.CountOf('B')*11 = 40 then
println(x,a*b);
end;
3 марта 2023