Тема 14. Системы счисления

14.03 Поиск цифр(-ы) числа

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела системы счисления
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#25585

Значение выражения 3435 +73 − 1− X  записали в системе счисления с основанием 7  , при этом в записи оказалось     12  цифр 6  . При каком минимальном целом положительном X  это возможно?

Показать ответ и решение
for x in range(1, 10000000):
    k = 343**5 + 7**3 - 1 - x
    counter = 0
    while k != 0:
        counter += k % 7 == 6
        k //= 7
    if counter == 12:
        print(x)
        break

Ответ: 400

Ошибка.
Попробуйте повторить позже

Задача 2#36471

По демоверсии ЕГЭ 2023.

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

20x3 + 1x32
    4      4

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

Показать ответ и решение
for x in range(4):
    if (int(’20’ + str(x) + ’3’, 4) + int(’1’ + str(x) + ’32’, 4)) % 3 == 0:
        print((int(’20’ + str(x) + ’3’, 4) + int(’1’ + str(x) + ’32’, 4)) // 3)

Ответ: 83

Ошибка.
Попробуйте повторить позже

Задача 3#40848

По демоверсии ЕГЭ 2023.

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

1x34 + 23x1
    6      4

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

Показать ответ и решение
for x in range(4):
    if (int(’1’+str(x)+’34’, 6) + int(’23’+str(x)+’1’, 4)) % 7 == 0:
        print((int(’1’+str(x)+’34’, 6) + int(’23’+str(x)+’1’, 4)) // 7)

Ответ: 65

Ошибка.
Попробуйте повторить позже

Задача 4#54402

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

348x511 + 1x11111

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

Показать ответ и решение
for x in ’0123456789A’:
    s = int(’348’+str(x)+’5’, 11) + int(’1’+str(x)+’111’, 11)
    if s % 8 == 0:
        print(s // 8)
        break

Ответ: 8292

Ошибка.
Попробуйте повторить позже

Задача 5#54403

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

14x4D23 + AxF 11123

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

Показать ответ и решение
for x in range(23):
    a = [’a’, ’b’, ’c’, ’d’, ’e’, ’f’, ’g’, ’h’, ’i’, ’j’, ’k’, ’l’, ’m’, ’n’]
    # На случай, если x = 10 и больше, заменяем его буквенным значением
    if x > 9:
        s = int(’14’+str(a[10-x])+’4d’, 23) + int(’a’+str(a[10-x])+’f111’, 23)
    else:
        s = int(’14’+str(x)+’4d’, 23) + int(’a’+str(x)+’f111’, 23)
    if s % 17 == 0:
        print(s // 17)
        break

Ответ: 3981106

Ошибка.
Попробуйте повторить позже

Задача 6#54404

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

y5x512 + 3x6y12

В записи чисел переменными x  и y  обозначены РАЗНЫЕ неизвестные цифры из алфавита 12-ричной системы счисления. Определите пару x  и y  с наибольшей суммой, при котором значение данного арифметического выражения кратно и 2 и 3. В ответе запишите без пробелов и разделителей сначала x  в десятичной системе счисления затем y  в десятичной системе счисления.

Показать ответ и решение
mx = 0
for x in range(12):
    for y in range(12):
        if x != y:
            m = y * 12**3 + 5 * 12**2 + x * 12**1 + 5
            n = 3 * 12**3 + x * 12**2 + 6 * 12**1 + y
            if (m+n) % 2 == 0 and (m+n) % 3 == 0 and x+y > mx:
                mx = x+y
                print(str(x)+str(y))

Ответ: 117

Ошибка.
Попробуйте повторить позже

Задача 7#56315

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

1678x1216  + 1x02416

В записи чисел переменной x обозначена неизвестная цифра из алфавита 16  -ричной системы счисления. Определите наименьшее значение x, при котором значение данного арифметического выражения кратно 15  . В ответ запишите найденное значение x (для букв — их численное значение).

Показать ответ и решение
for x in range(1, 15):
    if x < 10:
        n1 = ’1678’ + str(x) + ’12’
        n2 = ’1’ + str(x) + ’024’
    elif x == 10:
        n1 = ’1678A12’
        n2 = ’1A024’
    elif x == 11:
        n1 = ’1678B12’
        n2 = ’1B024’
    elif x == 12:
        n1 = ’1678C12’
        n2 = ’1C024’
    elif x == 13:
        n1 = ’1678D12’
        n2 = ’1D024’
    elif x == 14:
        n1 = ’1678E12’
        n2 = ’1E024’
    elif x == 15:
        n1 = ’1678F12’
        n2 = ’1F024’
    if (int(n1, 16) + int(n2, 16)) % 15 == 0:
        print(x)

 

Ответ: 14

Ошибка.
Попробуйте повторить позже

Задача 8#56480

Дано арифметическое выражение, где x  является любой цифрой от 0 до 9.

11x79320 + Bx7x320 − 111x6 + log2(2x6)10

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

Показать ответ и решение
from math import log

def to_16(x):
    alf = ’0123456789ABCDEF’
    s = ’’
    while x > 0:
        s = alf[x%16] + s
        x = x // 16
    return s

def to_10(num, i):
    num = str(num)
    i = int(i + ’6’)
    return int(num[0]) * i**2 + int(num[1]) * i + int(num[2])

for i in ’0123456789’:
    w = int(’11’ + i + ’793’, 20) + int(’B’ + i + ’7’ + i + ’3’, 20) - \
        to_10(111, i) + log(int(’2’ + i + ’6’), 2)
    if int(w) == w:
        print(to_16(int(w)).count(’F’))

Ответ: 1

Ошибка.
Попробуйте повторить позже

Задача 9#57102

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

1213x67 + 51x4317

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

Показать ответ и решение
# в массив записываем цифры чисел, -1 обозначает x
s1 = [1, 2, 1, 3, -1, 6]
s2 = [5, 1, -1, 4, 3, 1]
# система счисления
ss = 7
# число, которому выражение должно быть кратно
k = 91

for x in range(ss):
    # присваиваем соответствующим элементам массива значения
    s1[4], s2[2] = x, x
    sm1, sm2 = 0, 0
    # переводим в 10-ю систему счисления
    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((sm1 + sm2) // k)

Ответ: 1199

Ошибка.
Попробуйте повторить позже

Задача 10#57750

Некоторое число X из десятичной системы счисления перевели в системы счисления с основаниями 16, 8, 4. Часть символов при записи утеряна. Позиции утерянных символов обозначены знаком *:

X= ∗3∗16 = 4 ∗18 = ∗ ∗∗∗ 14

Определите X.

Показать ответ и решение
def fr(num):
    n = num
    t = ’’
    while n > 0:
        t = str(n%4) + t
        n = n//4
    return t

for x in range(5000):
    hx = hex(x)[2:]
    ot = oct(x)[2:]
    f = fr(x)
    if (len(hx) == 3 and hx[1] == ’3’
            and len(ot) == 3 and ot[0] == ’4’ and ot[2] == ’1’
            and len(f) == 5 and f[-1] == ’1’):
        print(x)

Варианты правильных ответов:
  1. 305
  2. 313

Ошибка.
Попробуйте повторить позже

Задача 11#58968

Дано арифметическое выражение:

9ACx3616 + 5CDxDA16

В записи чисел переменной x обозначена неизвестная цифра. При каком наименьшем значении переменной х, сумма цифр значения этого выражения, записанного в 7-ричной системе счисления, равна 34? В ответе для найденного значения x укажите значение выражения в десятичной системе счисления. Основание системы счисления в ответе указывать не нужно.

Показать ответ и решение
# в массив записываем цифры чисел, -1 обозначает x, A - 10, B - 11, C - 12, D - 13, E - 14, F - 15
s1 = [9, 10, 12, -1, 3, 6]
s2 = [5, 12, 13, -1, 13, 10]
# система счисления
ss = 16

for x in range(ss):
    # присваиваем соответствующим элементам массива значения
    s1[3], s2[3] = x, x
    sm = 0
    # переводим в 10-ю систему счисления
    for j in range(len(s1)):
        sm += s1[len(s1) - j - 1] * ss ** j
    for j in range(len(s2)):
        sm += s2[len(s2) - j - 1] * ss ** j
    # переводим в 7-ю систему счисления
    sm7 = ’’
    t = sm
    while t > 0:
        sm7 = str(t % 7) + sm7
        t //= 7
    # находим сумму цифр числа
    sm7 = int(sm7)
    smc = 0
    while sm7 > 0:
        smc += sm7 % 10
        sm7 = sm7 // 10
    # проверяем условие
    if smc == 34:
        print(x, sm)

Ответ: 16225552

Ошибка.
Попробуйте повторить позже

Задача 12#60025

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

3x563211 + x57811

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

Показать ответ и решение
for x in range(1, 11):
    s1 = 3*11**5 + x*11**4 + 5*11**3 + 6*11**2 + 3*11 + 2
    s2 = x*11**3 + 5*11**2 + 7*11 + 8
    if (s1+s2)%19 == 0:
        print((s1+s2)//19)
        break

Ответ: 27537

Ошибка.
Попробуйте повторить позже

Задача 13#60026

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

11x23239 + 22x34349

В записи чисел переменной х обозначена неизвестная цифра из алфавита 9-ричной системы счисления. Определите значение х, при котором значение данного арифметического выражения кратно 23.

Показать ответ и решение
for x in range(2, 9):
    s1 = 9**6 + 9**5 + x*9**4 + 2*9**3 + 3*9**2 + 2*9 + 3
    s2 = 2*9**6 + 2*9**5 + x*9**4 + 3*9**3 + 4*9**2 + 3*9 + 4
    if (s1+s2)%23 == 0:
        print(x)
        break

Ответ: 8

Ошибка.
Попробуйте повторить позже

Задача 14#60030

Какая максимальная сумма цифр может получиться в девятиричной записи числа

35x76x31 − 11y4y17

если вместо x и y может стоять ровно 1 цифра, x и y не могут быть одинаковыми.

Показать ответ и решение
mx = 0
# цикл по x до 31 так как выражение где используется x в 31-ричной СС
for x in range(31):
# цикл по x до 17 так как выражение где используется x в 17-ричной СС
    for y in range(17):
        if x != y:
         # переводим уменьшаемое в 10-ную СС
            s1 = 3*31**5 + 5*31**4 + x*31**3 + 7*31**2 + 6*31 + x
            # переводим вычитаемое в 10-ную СС
            s2 = 17**4 + 17**3 + y*17**2 + 4*17 + y
            s = s1-s2
            d = 0
            # считаем сумму цифр
            while s > 0:
                d += s % 9
                s = s // 9
            # находим максимальное
            mx = max(d, mx)
print(mx)

Ответ: 51

Ошибка.
Попробуйте повторить позже

Задача 15#61630

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

561x4121 + 1x290121

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

Показать ответ и решение
ans = 0
for x in range(121):
    s1 = 5*121**4 + 6*121**3 + 1*121**2 + x*121 + 4
    s2 = 1*121**4 + x*121**3 + 2*121**2 + 9*121
    if (s1 + s2) % 17 == 0:
        ans += (s1+s2) // 17
print(ans)

Ответ: 575570282

Ошибка.
Попробуйте повторить позже

Задача 16#61888

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

1587x9916  + 1x04816

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

Показать ответ и решение

Решение 1

for x in range(1, 15):
    if x < 10:
        n1 = ’1587’ + str(x) + ’99’
        n2 = ’1’ + str(x) + ’048’
    elif x == 10:
        n1 = ’1587A99’
        n2 = ’1A048’
    elif x == 11:
        n1 = ’1587B99’
        n2 = ’1B048’
    elif x == 12:
        n1 = ’1587C99’
        n2 = ’1C048’
    elif x == 13:
        n1 = ’1587D99’
        n2 = ’1D048’
    elif x == 14:
        n1 = ’1587E99’
        n2 = ’1E048’
    elif x == 15:
        n1 = ’1587F99’
        n2 = ’1F048’
    if (int(n1, 16) + int(n2, 16)) % 13 == 0:
        print(x)

 

Решение 2 (решение ученика Банышева М.)

c = 10**15
for x in ’0123456789abcdef’:
    t = int(’1587’+str(x)+’99’, 16)+int(’1’+str(x)+’048’, 16)
    if t % 13 == 0:
        if t < c:
            c = t
            print(x)

Ответ: 2

Ошибка.
Попробуйте повторить позже

Задача 17#61889

По демоверсии ЕГЭ 2023.

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

5x46 + 12x1
    7      5

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

Показать ответ и решение
for x in range(5):
    if (int(’5’+str(x)+’46’, 7) + int(’12’+str(x)+’1’, 5)) % 7 == 0:
        print((int(’5’+str(x)+’46’, 7) + int(’12’+str(x)+’1’, 5)) // 7)

Ответ: 275

Ошибка.
Попробуйте повторить позже

Задача 18#62654

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

A9x6412 + 1x00A12

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

Показать ответ и решение
a = ’0123456789ab’
for x in a:
    s1 = int(’a9’ + x + ’64’, 12)
    s2 = int(’1’ + x + ’00a’, 12)
    if (s1 + s2) % 11 == 0:
        print((s1 + s2) // 11)



Ответ: 22498

Ошибка.
Попробуйте повторить позже

Задача 19#62655

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

ABC1x021 + Dx9821

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

Показать ответ и решение
a = ’0123456789abcdefghijk’
for x in a:
    s1 = int(’abc1’ + x + ’0’, 21)
    s2 = int(’d’ + x + ’98’, 21)
    if (s1 + s2) % 65 == 0:
        print((s1 + s2) // 65)




Ответ: 664864

Ошибка.
Попробуйте повторить позже

Задача 20#62656

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

11x58617 + 5x21117

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

Показать ответ и решение
a = ’0123456789abcdefg’
for x in a:
    s1 = int(’11’ + x + ’586’, 17)
    s2 = int(’5’ + x + ’211’, 17)
    if (s1 + s2) % 49 == 0:
        print((s1 + s2) // 49)



Ответ: 40652
Рулетка
Вы можете получить скидку в рулетке!