Задачи по теме “Системы счисления”

Несколько интересных задач на системы счисления. Решение на Python.

№BA2029

В системе счисления с некоторым основанием число 17 записывается в виде 101. Укажите это основание.

решение

Можно решить задачу через развёрнутую форму записи числа:

1 * x2 + 0 * x + 1 = 17

x2 = 4

x = 4

Можно решить иначе. Предположим, что подходящее основание системы счисления найдётся в интервале от 2 до 36. Тогда, можно воспользоваться переводом в десятичную систему через int().

задачи системы счисления_1

№11EBF6

Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 24 оканчивается на 3.

ответ

Для перевода в систему счисления с основанием x нужно делить число на x до тех пор, пока результат деления не будет равен 0, а затем записать получившиеся остатки от деления в обратном порядке. Таким образом, последним числом в записи будет первый остаток от деления. Значит, нужно найти такое значение x, чтобы остаток от деления 24 на x был 3.

Основание системы счисления не может ни равняться числу 24, ни превышать его – тогда запись не будет оканчиваться на 3.

Рассмотрим интервал от 2 до 23. Он всё ещё избыточен. В младшем разряде должно быть 3 * x0, то есть сумма предыдущих разрядов не больше 21. Значит, 22 или 23 не подойдут. К тому же, цифра 3 должна быть в алфавите системы счисления. Следовательно, основание системы счисления не может быть меньше 4.

Можно учесть всё это и уменьшить интервал x, Или для упрощения перебрать значения от 2 до 23:

задачи системы счисления_2

7, 21


№87F308

Укажите через запятую в порядке возрастания все числа, не превосходящие 25, запись которых в двоичной системе счисления оканчивается на 101.

ответ

Переводим в двоичную систему при помощи bin(). При помощи среза строки получаем последние три символа и сравниваем с заданными.

задачи системы счисления_3

5,13,21

Примеры из Банка заданий ЕГЭ