В конце статьи есть тестирование

В конце статьи есть тестирование по этой теме

Счетчик просмотров60

РЕШЕНИЕ 14 НОМЕРОВ (4/4)

Оглавление
Условие задачиРешение через printable + int()Решение через ручной переводКогда какой способ
Задача

Условие задачи

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

463x7921₂₉ + 8241x153₂₉

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

Решение через printable + int()

Функция int(строка, основание) переводит число из любой СС (до 36) в десятичную. Для подстановки x используем f-строки: int(f'463{x}7921', 29).

Строка printable из модуля string начинается с '0123456789abcdef...'. Срез printable[:29] — все допустимые цифры 29-ричной СС (от '0' до 's').

PYTHON-КОД
1
2
3
4
5
6
7
Баннер статьи

Решение через ручной перевод

Функция int() работает только до основания 36. Для оснований > 36 нужен ручной перевод по формуле:

xyzb = x · b² + y · b¹ + z · b⁰ (более подробно рассматривали в предыдущих статьях)

Здесь x — уже не символ, а число (от 0 до основание–1). Поэтому перебираем for x in range(29) и вручную вычисляем значение каждого числа по позициям.

PYTHON-КОД
1
2
3
4
5
6

Когда какой способ

Основание ≤ 36: используем printable + int() — короче и проще.

Основание > 36: только ручной перевод. int() не сработает, нужно расписывать формулу по позициям.

Наименьший vs наибольший: если нужен наименьший x — ставим break сразу после первого найденного. Если наибольший — не ставим break, последний выведенный и будет ответом.

Ответ: x = 0, частное = 7567913105

Решите задачи, чтобы усвоить материал

Решить в Личном Кабинете
Системы счисления → Выражения в различных системах счисления

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

\(99658x29_{15} + 102x023_{15}\)

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

Системы счисления → Выражения в различных системах счисления

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

\(98x79641_{22} + 36x14_{22}+ 73x4_{22}\)

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

Оцените статью

Другие статьи по предмету

Другие статьи не найдены