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

14.02 Поиск основания системы счисления

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

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

Задача 1#5957

Решите уравнение: 3711 = 31x

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

Решение аналитически

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

3711 = 7 ⋅ 110 + 3 ⋅ 111 = 40

          0       1
31x = 1 ⋅ x + 3 ⋅ x = 1 + 3x

Теперь решим новое линейное уравнение и найдем ответ:

40 = 1 + 3x

39 = 3x

x = 13

Значит, искомое основание равно 13.

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

for x in range(4, 16):
    if int(’37’, 11) == int(’31’, x):
        print(x)

Ответ: 13

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

Задача 2#6441

Решите уравнение: 1258 + 103 =  323x
Ответ запишите в троичной системе счисления.

 

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

Для удобства переведем все числа в десятичную систему счисления:
1258 =  5 ⋅ 80 + 2 ⋅ 81 + 1 ⋅ 82 = 5 ⋅ 1 + 2 ⋅ 8 + 1 ⋅ 64 = 5 + 16 + 64 = 8510
          0       1
103 = 0 ⋅ 3 + 1 ⋅ 3 = 0 ⋅ 1 + 1 ⋅ 3 = 310
            0      1       2                    2                2
323x =  3 ⋅ x + 2 ⋅ x + 3 ⋅ x = 3 ⋅ 1 + 2 ⋅ x + 3 ⋅ x = (3 + 2x + 3x )10
Теперь, когда все числа находятся в одной системе счисления, можем составить квадратное уранение:
85 + 3 = 3 + 2x + 3x2
   2
3x  + 2x − 85 =  0
      2
D  = 2  − 4 ⋅ 3 ⋅ (− 85) = 4 + 12 ⋅ 85 = 1024  ; √ --
  D = 32

⌊
 x =  −-2 +-32 = 30-=  5
|       2 ⋅ 3     6
⌈     − 2 − 32     34
 x =  --2-⋅ 3- = − -6-<  0,основан ие систем ы счисл ения не м ожет бы ть отри цатель н
Переведем искомое основание в троичную систему счисления: 5  =  1 ⋅ 31 + 2 ⋅ 30 = 12
 10                    3   .

 

Ответ: 12

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

Задача 3#6442

Найдите наименьшее основание системы счисления, в которой десятичное число 79 имеет четырехзначную запись.

 

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

Если запись числа четырехзначна, максимальное значение числа равно x4 − 1  , где переменная - основание системы счисления. Это можно увидеть на примере с десятичной системой счисления. Максимальное четырехзначное число:   4
10  − 1 = 10000 −  1 = 9999  , максимальное трехзначное число:   3
10  − 1 = 1000 −  1 = 999  . Аналогично перебираем другие системы счисления, удовлетворяющие условию задачи:
Двоичная: 24 − 1 = 15  , слишком мало, запись числа 79 будет состоять более, чем из четырех цифр.
Троичная:  4
3 − 1 =  80  . Значит, искомое значение – 3. Для проверки переведем 79 в троичную систему счисления:            3      2       1       0
7910 = 2 ⋅ 3 + 2 ⋅ 3 + 2 ⋅ 3 + 1 ⋅ 3 = 22213   .

 

Ответ: 3

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

Задача 4#20959

В какой системе счисления число 1710  записывается как 101  ? В ответ запишите основание системы счисления.

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

Пусть основание нашей системы счисления это x  . Тогда 101x = 1⋅x2 + 1 = 17  , откуда следует, что x = 4  .

Ответ: 4

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

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

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

Задача 6#25906

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

N 25 − 2⋅N 13 + 10

записали в системе счисления с основанием N  . Определите основание системы счисления, если известно, что сумма разрядов в числе, представленном в этой системе счисления, равна 75  .

Показать ответ и решение
for n in range(2, 10):
    # Перебор начинаем с 2 т.к.
    # при делении на 1 получается бесконечный цикл
    s = n**25 - 2*n**13 + 10
    summ = 0
    while s > 0:
        summ += s % n
        s //= n
    if summ == 75:
        print(n)

Ответ: 7

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

Задача 7#25987

Определите число N  , для которого выполняется равенство 214N = 165N+1  .

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

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

2n2 + n + 4 = (n + 1)2 +6(n + 1)+ 5
n2 − 7n− 8 = 0
D = 49 + 32 = 81
x1 = 8
x2 = − 1

В ответ берем положительное число.

Ответ: 8

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

Задача 8#51477

Найдите основание системы счисления, в которой выполнено сложение: 124x + 16x = 141x  .

Показать ответ и решение
for x in range(17):
    a = x**2 + 2*x + 4
    b = x + 6
    c = x**2 + 4*x + 1
    if a+b == c:
        print(x)

Ответ: 9

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

Задача 9#51478

В системе счисления с основанием N запись числа 223 оканчивается на 6 и содержит не более двух цифр. Чему равно минимальное число N?

Показать ответ и решение
for n in range(2, 50):
    x = 223
    s = ’’
    while x > 0:
        s = str(x % n) + s
        x = x // n
    while s[0] == ’0’:
        s.pop(0)
    if len(s) <= 2 and s[-1] == ’6’:
        print(n)
        break

Ответ: 31

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

Задача 10#57748

Найдите основание системы счисления, в которой выполнено сложение: 116x + 21x = 140x  .

Показать ответ и решение
for x in range(10):
    f = 1 * x**2 + 1 * x + 6
    s = 2 * x + 1
    if f+s == 1 * x**2 + 4 * x:
        print(x)

Ответ: 7

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

Задача 11#57749

Решите уравнение 84x = 1648  . Ответ запишите в десятичной системе счисления.

Показать ответ и решение
for x in range(20):
    # Переводим в 10 с.с.
    n = 8*x + 4
    if n == 1*8**2 + 6*8 + 4:
        print(x)

Ответ: 14

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

Задача 12#60027

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

x3x +21y = xyyx

Буквами x и y обозначены некоторые цифры из алфавита системы счисления с основанием p. Определите значение основания p.

Показать ответ и решение
for p in range(4, 16):
    for x in range(p):
        for y in range(p):
            m1 = str(x)+’3’+str(x)
            m2 = ’2’+’1’+str(y)
            n1 = str(x)+str(y)+str(y)+str(x)
            m = int(m1, p) + int(m2, p)
            n = int(n1, p)
            if m == n:
                print(p)

Ответ: 4

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

Задача 13#60727

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

N25 − 2 ∗N 13 + 10

записали в системе счисления с основанием N. Определите основание системы счисления, если известно, что сумма разрядов в числе, представленном в этой системе счисления, равна 75.

Показать ответ и решение
for n in range(2, 11):
    a = n**25 - 2*n**13 + 10

    s = ’’
    while a > 0:
        s = str(a % n) + s
        a = a // n

    sm = 0
    for i in s:
        sm += int(i)

    if sm == 75:
        print(n)

Ответ: 7

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

Задача 14#72424

Значение выражения 67 ⋅1463 + 28123 + 47 ⋅42210 − 349564  записали в некоторой системе счисления.

Оказалось, что количество цифр 7 в этой записи максимально.

Найдите эту систему счисления и запишите её в ответе в десятичной системе счисления. Если таких несколько, укажите ту, у которой числовое значение больше.

Показать ответ и решение
x = 67*14**63 + 28**123 + 47*42**210 - 349564
mx_c = 0
ans = 0
for i in range(8,17):
    c = 0
    n = x
    while n > 0:
        if n % i == 7:
            c += 1
            if c >= mx_c:
                mx_c = c
                ans = i
        n //= i
print(ans)

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