Задача к ЕГЭ по информатике на тему «Поиск цифр(-ы) числа» №1

Операнды арифметического выражения записаны в системе счисления с основанием 123.

D15x6A123 + ExCA19123

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

Первый способ ручной перевод

for x in range(123):  # Перебор цифры x среди десятеричных представлений цифр 123-ричной системы счисления
    # Перевод чисел из 123-ричной системы счисления
    s1 = 13 * 123**5 + 1 * 123**4 + 5 * 123**3 + x * 123**2 + 6 * 123**1 + 10 * 123**0
    s2 = 14 * 123**5 + x * 123**4 + 12 * 123**3 + 10 * 123**2 + 1 * 123**1 + 9 * 123**0
    s = s1 + s2  # Значение арифметического выражения
    if s % 11 == 0:
        print(x)

Второй способ через списки

# A - 10, B - 11, C - 12, D - 13, E - 14, F - 15
s1 = [13, 1, 5, -1, 6, 10]
s2 = [14, -1, 12, 10, 1, 9]
ss = 123
k = 11
for x in range(ss):
    s1[3] = x
    s2[1] = x
    sm1 = 0
    sm2 = 0
    for j in range(len(s1)):
        sm1 += s1[len(s1) - j - 1] * ss ** j
    for j in range(len(s2)):
        sm2 += s2[len(s2) - j - 1] * ss ** j
    if (sm1 + sm2) % k == 0:
        print(x, (sm1 + sm2) // k)

Ответ: 121
Оцените статью
Я решу все!