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

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

Задача 1#49370

Укажите наименьшее основание системы счисления, в которой запись десятичного числа 15 имеет ровно три значащих разряда.

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

Переведём число 1510  в другие системы счисления.

1510 = 11112  , что нам не подходит, так как в его записи четыре значащих разряда.

1510 = 1203  , число имеет три значащих разряда, значит, искомая система счисления - 3.

Ответ: 3

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

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

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

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

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

Задача 4#57749

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

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

Ответ: 14

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

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

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

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

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

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

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

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

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

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

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

Задача 10#6440

Решите уравнение: 20x + 210 = 155
Ответ запишите в двоичной системе счисления.

 

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

Для начала переведем все числа в десятичную систему счисления:
20x =  0 ⋅ x0 + 2 ⋅ x1 = 2x10
          0       1
155 = 5 ⋅ 5 + 1 ⋅ 5 = 1010
Теперь, когда все числа находятся в одной системе счисления, можем составить линейное уранение и решить его:
2x + 2 =  10
2x =  8
x =  4
Искомое основание переводим в двоичную систему счисления и получаем ответ:        2
410 = 2 =  1002   .

 

Ответ: 100

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

Задача 11#6439

Решите уравнение: 4610 = 56x

 

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

Переведем 56 в десятичную систему счисления: 56x = 6 ⋅ x0 + 5 ⋅ x1 = 6 + 5x
Составим линейное уравнение, решим его:
46 = 6 + 5x
40 = 5x
x =  8
Для перепроверки сделаем обратный перевод: 568 = 6 ⋅ 80 + 5 ⋅ 81 = 46

 

Ответ: 8

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

Задача 12#6438

Решите уравнение: 510 = 101x

 

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

Переведем 101 в десятичную систему счисления: 101x =  1 ⋅ x0 + 0 ⋅ x1 + 1 ⋅ x2 = 1 + x2
Теперь подставим в наше уравнение вместо 101x  полученное выражение и решим квадратное уравнение:
          2
5 = 1 + x
4 = x2
x =  ±2
Отрицательный корень нам не подходит, т.к. основание системы счисления не может быть отрицательным. Значит, искомое основание равно 2.
Для перепроверки сделаем обратный перевод:            0      1       2
1012 = 1 ⋅ 2 + 0 ⋅ 2 + 1 ⋅ 2 = 1 + 0 + 4 = 510

 

Ответ: 2

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

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

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

Задача 14#5956

Решите уравнение: 1010 = 101x

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

Переведем 101  в десятичную систему счисления: 101x = 1 ⋅ x0 + 0 ⋅ x1 + 1 ⋅ x2 = 1 + x2

Теперь подставим в наше уравнение вместо 101x  полученное выражение и решим квадратное уравнение:

          2
10 = 1 + x

     2
9 = x

x = ±3

Отрицательный корень нам не подходит, т.к. основание системы счисления не может быть отрицательным. Значит, искомое основание равно 3  .

Для перепроверки сделаем обратный перевод:            0       1      2
1013 = 1 ⋅ 3 + 0 ⋅ 3 + 1 ⋅ 3 = 1 + 0 + 9 = 1010

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

for i in range(2, 10):
    if 10 == int(’101’, i):
        print(i)

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