Задача 5882. Источник: Поляков. Задание КИМ 14
(П. Волгин) Операнды арифметического выражения записаны в системах счисления с основанием 16:
10xА16 + FFx7816
В записи чисел переменной x обозначена неизвестная цифра из алфавита 16-ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 19. Для найденного значения x вычислите частное от деления значения арифметического выражения на 19 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.
Решение
Python
for x in range(16):
n1 = 16 ** 3 + x * 16 + 10
n2 = 15 * 16 ** 4 + 15 * 16 ** 3 + x * 16 ** 2 + 7 * 16 + 8
n = n1 + n2
if n % 19 == 0:
print(n // 19)
break
PascalABC
var
x, n, n1, n2: Integer;
begin
for x := 0 to 15 do
begin
n1 := trunc(power(16, 3)) + x * 16 + 10;
n2 := 15 * trunc(power(16, 4)) + 15 * trunc(power(16, 3)) +
x * trunc(power(16, 2)) + 7 * 16 + 8;
n := n1 + n2;
if n mod 19 = 0 then
begin
Writeln(n div 19);
break;
end;
end;
end.
C++
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
for (int x = 0; x < 16; x++)
{
int n1 = (int)pow(16, 3) + x * 16 + 10;
int n2 = 15 * (int)pow(16, 4) + 15 * (int)pow(16, 3) +
x * (int)pow(16, 2) + 7 * 16 + 8;
int n = n1 + n2;
if (n % 19 == 0)
{
cout << n / 19 << endl;
break;
}
}
}
Ответ
55238