Главная / 16 января 2026 г.

№14. Кодирование чисел. Системы счисления

463. В записи числа 12x456у83₉ символы x и y обозначают некоторые цифры из алфавита системы счисления с основанием 39. Определите такие значения x и y, при которых приведённое число кратно 38, а число ху₃₉ имеет наибольшее возможное значение. В ответе запишите значение числа ху₃₉ в десятичной системе счисления.

Решение
s = []
for x in range(39):
    for y in range(39):
        a = 1*39**7 + 2*39**6 + x*39**5 + 4*39**4 + 5*39**3 + 6*39**2 + y*39**1 + 8
        if a % 38 == 0:
            s.append(x*39+y)
print(max(s))

470. В системе счисления с основанием p выполняется равенство

zxyx8 + xy517 = wzx62.

Буквами x, y, z и w обозначены некоторые цифры из алфавита системы счисления с основанием р. Определите значение числа xyzwₚ и запишите это значение в десятичной системе счисления.

Решение
for p in range(14):
    for x in range(p):
        for y in range(p):
            for z in range(p):
                for w in range(p):
                    a = z*p**4 + x*p**3 + y*p**2 + x*p**1 + 8
                    b = x*p**4 + y*p**3 + 5*p**2 + 1*p**1 + 7
                    c = w*p**4 + z*p**3 + x*p**2 + 6*p**1 + 2
                    if a + b == c:
                        print(x*p**3 + y*p**2 + z*p**1 + w)

522. Значение арифметического выражения

77∙81²⁰³¹ + 23∙729¹⁰³⁷ – 7∙9³⁰²³

записали в системе счисления с основанием 81. Определите количество цифр в этой записи, числовое значение которых кратно 4.

Решение
a = 77*81**2031 + 23*729**1037 - 7*9**3023
b = 0
while a:
    b += a % 81 % 4 == 0
    a //= 81
print(b)

525. Значение арифметического выражения

30∙36²³¹ + 18∙6¹⁰¹ – 3∙36⁴⁵ – 2357

записали в системе счисления с основанием 36. Определите количество цифр в этой записи, числовое значение которых кратно либо 5, либо 3, но не кратно 5 и 3 одновременно.

Решение
a = 30*36**231 + 18*6**101 - 3*36**45 - 2357
b = 0
while a:
    b += (a % 36 % 5 == 0 or a % 36 % 3 == 0) and a % 36 % 15 != 0
    a //= 36
print(b)

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

2465123ₚ + 251341ₚ

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

Решение
for p in range(17):
    a = 2*p**6 + 4*p**5 + 6*p**4 + 5*p**3 + 1*p**2 + 2*p**1 + 3
    b = 2*p**5 + 5*p**4 + 1*p**3 + 3*p**2 + 4*p**1 + 1
    if (a + b) % 17 == 0:
        print(p, (a + b) // 17)

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

KOTₚ + GOLODNIₚ = MEEOWₚ ∙ 100ₚ – 20194023088₁₀

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

Решение
for x in range(1000):
    a = 20*x**2 + 24*x**1 + 29
    b = 16*x**6 + 24*x**5 + 21*x**4 + 24*x**3 + 13*x**2 + 23*x**1 + 18
    c = 22*x**4 + 14*x**3 + 14*x**2 + 24*x**1 + 32
    d = 1*x**2
    if a + b == c * d - 20194023088:
        print(25*x**3 + 30*x**2 + 27*x**1 + 27)

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

ABxCD₂₇ + APxDK₂₇

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

Решение
for x in range(27):
    a = 10*27**4 + 11*27**3 + x*27**2 + 12*27**1 + 13
    b = 10*27**4 + 25*27**3 + x*27**2 + 13*27**1 + 20
    if (a + b) % 26 == 0:
        print(x, (a + b) // 13)
        break