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

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

Задача 1#56880

Дано арифметическое выражение, где 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)

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

Ответ: 2

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

Задача 2#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

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

Задача 3#36467

Решите уравнение: 170x = 13204

Показать ответ и решение
for x in range(8, 20):
    if int(’170’, x) == int(’1320’, 4):
        print(x)

Ответ: 8

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

Задача 4#36466

Решите уравнение: 234x = 21203

Показать ответ и решение
for x in range(5, 20):
    if int(’234’, x) == int(’2120’, 3):
        print(x)

Ответ: 5

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

Задача 5#30424

Сколько значащих нулей содержится в двоичной записи значения выражения: 82020 + 42017 + 26 − 1  ?

Показать ответ и решение
def x_10_to_n(x, n):  
    digits = []  
    while x > 0:  
        digits.append(x % n)  
        x //= n  
    digits.reverse()  
    return digits  
 
s = 8**2020 + 4**2017 + 26 - 1  
print(x_10_to_n(s, 2).count(0))

Ответ: 6056

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

Задача 6#30423

Сколько троек содержится в пятеричной записи значения выражения: 2520 + 4⋅511 − 2  ?

Показать ответ и решение
def x_10_to_n(x, n):  
    digits = []  
    while x > 0:  
        digits.append(x % n)  
        x //= n  
    digits.reverse()  
    return digits  
 
s = 25**20 + 4 * 5**11 - 2  
print(x_10_to_n(s, 5).count(3))

Ответ: 2

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

Задача 7#30422

Сколько единиц содержится в двоичной записи значения выражения: 419 + 28 +31  ?

Показать ответ и решение
print(bin(4**19 + 2**8 + 31)[2:].count(’1’))

Ответ: 7

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

Задача 8#30410

Сколько единиц содержится в двоичной записи значения выражения: 25 + 25 + 22  ?

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

Немного преобразовав выражение, переведём числа в выражении в двоичную систему счисления.

25 + 25 + 22 = 26 + 22 = 10000002 + 1002 = 10001002

Следовательно, ответ 2.

Ответ: 2

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

Задача 9#30409

Сколько единиц содержится в двоичной записи значения выражения: 100112 + 1012  ?

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

Нужно сложить два числа в двоичной системе счисления.

100112 + 1012 = 110002

Следовательно, ответ 2.

Ответ: 2

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

Задача 10#29743

Сколько значащих нулей содержится в двоичной записи значения выражения: 27 + 24 − 9  ?

Показать ответ и решение
print(bin(2**7 + 2**4 - 9)[2:].count(’0’))

Ответ: 4

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

Задача 11#29737

Укажите через пробел в порядке возрастания все основания систем счисления, в которых запись числа 13 оканчивается на 1.

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

Чтобы последняя цифра числа в n-ричной системе счисления числа 13 равнялась 1, нужно, чтобы остаток деления 13 на n также равнялся 1. Переберём системы счисления от двоичной до 13-ричной.

for i in range(2, 13):  
    if 13 % i == 1:  
        print(i)

Ответ: 2 3 4 6 12

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

Задача 12#29449

Решите уравнение:

14235 +10048 ⋅x+ 3567 = 20009

В ответ запишите значение x  в двоичной системе счисления.

Показать ответ и решение
print((int(’2000’, 9) - int(’1423’, 5) - int(’356’, 7)) / int(’1004’, 8))

Ответ: 10

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

Задача 13#26201

Дано арифметическое выражение: 930 + 9x − 96  . Найдите такой x  (6 < x < 30)  , чтобы количество нулей в записи числа в системе счисления с основанием 9  равнялось 12  .

Показать ответ и решение
for x in range(7, 30):
    n = 9**30 + 9**x - 9**6
    counter = 0
    while n != 0:
        counter += n % 9 == 0
        n //= 9
    if counter == 12:
        print(x)

Ответ: 24

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

Задача 14#26174

Решите уравнение 145 + x = 247  . Ответ запишите в троичной системе счисления. Основание системы счисления указывать не нужно.

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

145 + x = 247

1∗ 5+ 4 +x = 2∗ 7+ 4

x = 9  = 100
     10      3

Ответ: 100

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

Задача 15#25774

Сколько значащих нулей в двоичной записи числа

 512   512    128
4   + 8   − 2  − 250
Показать ответ и решение
a = 4**512 + 8**512 - 2**128 - 250
k = 0
while a > 0:
    k += (a % 2 == 0)
    a //= 2
print(k)

Ответ: 519

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

Задача 16#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

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

Задача 17#24415

Запись десятичного числа в системах счисления с основаниями 3  и 5  в обоих случаях имеет последней цифрой 0  . Какое минимальное натуральное десятичное число удовлетворяет этому требованию?

 

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

Пусть искомое число равно x  . По условию, x%3 = x%5 = 0  . Значит, все удовлетворяющие числа делятся на 3  и   5  без остатка. Тогда минимальное число x  равно НОК(3,5)  , то есть 15  .

Решение программой:

def perevod(n, ost):
    s = ’’
    x = n
    while x > 0:
        s = str(x % ost) + s
        x //= ost
    return s
for i in range(1, 1000):
    if perevod(i, 3)[-1] == perevod(i, 5)[-1] == ’0’:
        print(i)
        break

Ответ: 15

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

Задача 18#20962

Решите уравнение 2305 = 145x  .

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

Переведем обе части уравнения в десятичную систему счисления.

Слева получим: 2305 = 2⋅52 + 3 ⋅51 + 0⋅50 = 50 + 15 = 65

Справа получим 145  = 1⋅x2 + 4 ⋅x1 + 5⋅x0 = x2 + 4x+ 5
   x

Решим уравнение  2
x  +4x + 5 = 65

x2 + 4x − 60 = 0

Получается, либо x = 6  , либо x = − 10  . Так как основание СС не может быть отрицательным, ответ 6  .

Ответ: 6

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

Задача 19#11799

Решите уравнение 147 = 10x  .

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

Переведем обе части уравнения в десятичную систему счисления.

Слева получим: 147 = 1⋅71 + 4 ⋅70 = 7+ 4 = 11

Справа получим 10  = 1⋅x1 + 0 ⋅x0 = x
  x

Получается, что x = 11

Ответ: 11

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

Задача 20#11553

Решите уравнение: 1457 +x10 = 3315  .

Ответ запишите в десятичной системе счисления.

Показать ответ и решение
for i in range(1, 1000):  
    if int(’145’, 7) + i == int(’331’, 5):  
        print(i)  
        break  
 
# или  
 
[print(i) for i in range(1, 1000) if int(’145’, 7) + i == int(’331’, 5)]

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