Программное решение задач ЕГЭ по информатике

Задача 5812. Источник: Поляков. Задание КИМ 14

Страница задачи 5812

(А. Богданов) Операнды арифметического выражения записаны в системе счисления с некоторым частично заданным основанием:

113123x4 + 122124x3

В записи чисел переменной x обозначена неизвестная цифра. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 10. Для найденного значения x вычислите частное от деления значения арифметического выражения на 10 и укажите его в ответе в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Решение

Python

result = 0
for x in range(10):
    r1 = 12304 + x * 10
    r2 = 12403 + x * 10
    n1 = r1 ** 2 + r1 + 3
    n2 = r2 ** 2 + 2 * r2 + 2
    n = n1 + n2
    if n % 10 == 0:
        result = n // 10
print(result)

PascalABC

var
    x, n, r1, r2, n1, n2, r: Integer;
begin
    for x := 0 to 9 do
    begin
        r1 := 12304 + x * 10;
        r2 := 12403 + x * 10;
        n1 := r1 * r1 + r1 + 3;
        n2 := r2 * r2 + 2 * r2 + 2;
        n := n1 + n2;
        if n mod 10 = 0 then
            r := n div 10;
    end;
    Writeln(r);
end.

C++

#include <iostream>
using namespace std;
int main()
{
    int r = 0;
    for (int x = 0; x < 10; x++)
    {
        int r1 = 12304 + x * 10;
        int r2 = 12403 + x * 10;
        int n1 = r1 * r1 + r1 + 3;
        int n2 = r2 * r2 + 2 * r2 + 2;
        int n = n1 + n2;
        if (n % 10 == 0)
            r = n / 10;
    }
    cout << r << endl;
}

Ответ

30972367

Отправить замечание по решению

Код по которому имеется замечание:

Ваш вариант кода:

Комментарий: