А
Информатика·11 класскод 1.3·10 мин

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

Работа со степенями основания, заём при вычитании и подсчёт цифр в записи — техника заданий 12 и 14 ЕГЭ.

Тренировать тему

Задание 14 ЕГЭ почти никогда не требует прямого перевода огромного числа. Оно требует увидеть выражение как сумму степеней основания и аккуратно выполнить один заём при вычитании. Это чисто техническое умение, отрабатываемое за час.

Позиционная запись

Число q^k в системе с основанием q записывается как единица и k нулей. Сумма различных степеней основания даёт запись с единицами в соответствующих разрядах. Максимальная цифра в системе с основанием q равна q − 1 — именно она появляется при заёме.

Приведение к одному основанию

49^8 = (7²)^8 = 7^16, 8^5 = (2³)^5 = 2^15, 25^n = 5^(2n). Всегда приводите все слагаемые к степеням того основания, в котором просят записать результат.

Разбор выражения 49^8 + 7^15 − 49
49^8= 7^16, единица в 16-м разряде
+ 7^15единица в 15-м разряде
− 49= 7^2, вычитаем из 2-го разряда
заём растягивает шестёрки
Каждое слагаемое переписано как степень семёрки.
Алгоритм задания 14
Привести к степеням основания
49^8 = 7^16 и т.п.
Сложить
Получить запись из единиц и нулей
Вычесть
Выполнить заём из ближайшей ненулевой цифры
Записать цифры
Все нули между заёмом и источником станут q−1
Посчитать нужные цифры
Ответ — количество, а не сами цифры
Порядок действий, который работает для любого основания.
Что происходит при заёме
До вычитания
  • ·Разряд 16: цифра 1
  • ·Разряд 15: цифра 1
  • ·Разряды 14…0: нули
  • ·Всего 17 цифр
После вычитания 7²
  • ·Разряд 16: цифра 1
  • ·Разряд 15: становится 0
  • ·Разряды 14…3: двенадцать шестёрок
  • ·Разряд 2: 7 − 1 = 6
  • ·Разряды 1 и 0: нули
Заём превращает цепочку нулей в цепочку максимальных цифр.

Степени двойки — знать наизусть

Показатель2^kЗначениеГде встречается
102^1010241 Кбайт
162^1665536палитра 65536 цветов
202^2010485761 Мбайт
242^2416777216True Color, 3 байта
302^3010737418241 Гбайт
322^324294967296число IPv4-адресов
Задание 14 ЕГЭ

Условие: значение арифметического выражения 49^8 + 7^15 − 49 записали в системе счисления с основанием 7. Сколько цифр 6 содержится в этой записи? Решение. 1) Приводим к степеням семёрки: 49^8 = (7²)^8 = 7^16, 49 = 7². Выражение равно 7^16 + 7^15 − 7². 2) Сумма 7^16 + 7^15 в семеричной записи — это единица в разряде 16, единица в разряде 15 и нули в разрядах с 14-го по 0-й (всего 17 цифр). 3) Вычитаем 7²: в разряде 2 стоит ноль, поэтому берём заём у ближайшей ненулевой цифры — это разряд 15. Он становится нулём, а все промежуточные разряды с 14-го по 3-й (двенадцать разрядов) становятся 6. Разряд 2 получает 7 и после вычитания единицы даёт 6. 4) Считаем шестёрки: 12 + 1 = 13. Проверка на Python: n = 49**8 + 7**15 - 49 s = '' while n: s = str(n % 7) + s; n //= 7 print(s.count('6')) В бланк: 13

Задание 12 ЕГЭ (Редактор)

Условие: исполнитель Редактор работает со строкой. Дана строка из 70 идущих подряд цифр 8. Какая строка получится, если многократно применять команду «заменить (888, 8)»? Решение. Каждое применение уменьшает длину на 2. 70 = 3k + r: команда применима, пока длина не меньше 3. 70 → 68 → 66 → … Все длины чётные, поэтому процесс остановится на длине 2, когда подстрока 888 перестанет встречаться. Ответ — строка 88. Проверка на Python: s = '8'*70 while '888' in s: s = s.replace('888', '8', 1) print(s) В бланк: 88 (строка символов, без пробелов и кавычек)

Ловушка: считать цифры, а не разряды

Разряды нумеруются с нуля, поэтому число из разрядов 14…3 содержит 14 − 3 + 1 = 12 цифр, а не 11. Ошибка на единицу в этом подсчёте — самая частая в задании 14. Вторая ловушка: спрашивают количество цифр 6, а ученик пишет сумму цифр или саму запись. Третья: при заёме нулём становится источник заёма, а не соседний разряд.

Контроль решения
  • Все слагаемые приведены к степеням одного основания
  • Разряды пронумерованы с нуля и подсчитаны по формуле «верх − низ + 1»
  • При заёме промежуточные нули заменены на q − 1
  • Проверено, что именно спрашивают: количество цифр, их сумму или саму запись
  • Результат подтверждён коротким скриптом на Python
  • В бланке одно число или строка без пробелов