Задача к ЕГЭ по информатике на тему «арифметические выражения» №1

Дано арифметическое выражение, где x  , y  и z  являются натуральными числами в десятичной системе счисления.

348 ⋅x+ 111102 ⋅y + 1F16 ⋅z = 36510

Определите, сколько существует решений для данного уравнения.

Решение руками:

Переведем коэффициенты уравнения в 10-ую систему счисления и получим:

28x+ 30y+ 31z = 365

Поймем, чему максимально может равняться x (по макс. значениям x ≤ y ≤ z  ):

28x < 365 → x < 13,03...→ x ≤ 13

Но это при условии, если y  и z  равны 0, а значит x  еще меньше. В целом, можно программой перебрать всевозможные варианты x,y,z  даже если x ≤ 13

for i in range(1, 13+1):
    for j in range(1, 13+1):
        for k in range(1, 13+1):
            x = 28*i + 30*j + 31*k
            if x == 365:
                print(i, j, k)

Получим два решения.

Решение Python:

s1 = int(’34’, 8)
s2 = int(’11110’, 2)
s3 = int(’1f’, 16)
for i in range(1, 13+1):
    for j in range(1, 13+1):
        for k in range(1, 13+1):
            if s1*i + s2*j + s3*k == 365:
                print(i, j, k)

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