Печать: Ctrl+P → ориентация альбомная, масштаб 100 % (не «вписать в лист»), поля нет, «печать фона» включить — иначе пропадут рамки таблиц. На листе две одинаковые карточки: разрезать по пунктиру посередине, получится две штуки формата A5. Эта серая рамка на бумагу не печатается.
11 класс

Объём памяти для паролей и номеров

Задание 11 ЕГЭ: сколько памяти займут пароли, идентификаторы и серийные номера — и какой длины и из какого алфавита они могут быть

Цепочка: от символа к памяти

from math import *
a = 10 + 4090               # мощность: цифры + спецсимволы
i = ceil(log2(a))           # бит на символ: 2**i >= a
v = ceil(317 * i / 8)       # байт на запись — целое, вверх
print(v * 262144 // 2**20)  # объём в Мбайт

Три шага — и каждый округляется вверх: бит на символ (ceil(log2(a))), байт на запись (ceil(… / 8)). А вот «сколько записей влезет» округляется вниз: //, половина записи не хранится.

Неизвестна длина или мощность — перебор

for n in range(1, 10000):       # длина записи
    v = ceil(n * i / 8)
    if v * 2000 <= 693 * 2**10:   # «отведено не более 693 Кбайт»
        last = n                # подходит — запоминаем
print(last)                     # наибольшая подходящая

Что писать под вопрос

В условииВ программе
десятичные цифры и 4090-символьный спецалфавитa = 10 + 4090
52 латинские буквы с регистром · заглавные латинские52 · 26 (число не назовут)
цифры шестнадцатеричной системы16 — у системы с основанием N ровно N цифр
не более 693 Кбайт · менее 9 Мбайт<= 693 * 2**10 · < 9 * 2**20
более 23 Мбайт · не менее 5 Гбайт> 23 * 2**20 · >= 5 * 2**30
наибольшая длина / мощностьlast = n, после цикла print(last)
наименьшая длина / мощностьprint(n) и break
неизвестна мощность алфавитаfor a in range(2, 100000):, в цикле i = ceil(log2(a))
ещё 15 байт сведений о пользователеv = ceil(n * i / 8) + 15 — после округления
сколько записей влезетprint(3 * 2**20 // v)

Пять ловушек

  • Алфавит целиком. Цифры + буквы + спецсимволы: 4090 спецсимволов укладываются в 12 бит, а вместе с цифрами 4100 — уже 13;
  • Бит — вверх. 4100 символов в 12 бит не влезут: нужен ceil(log2(a)), а не int и не голый log2;
  • Байт на запись — вверх. 4121 бит — это 516 байт, а не 515,1: память отводят целыми байтами на каждую запись;
  • Единицы. 1 Кбайт = 210 байт, 1 Мбайт = 220, 1 Гбайт = 230;
  • Наибольшая или наименьшая. Наибольшая — запомнить последнее подходящее, наименьшая — первое и break. Мощность — это a, а не число бит i.
Тренажёр и разбор темы: https://kibersvet.ru/11/obem-pamyati/
Материалы подготовлены с использованием технологий искусственного интеллекта.
11 класс

Объём памяти для паролей и номеров

Задание 11 ЕГЭ: сколько памяти займут пароли, идентификаторы и серийные номера — и какой длины и из какого алфавита они могут быть

Цепочка: от символа к памяти

from math import *
a = 10 + 4090               # мощность: цифры + спецсимволы
i = ceil(log2(a))           # бит на символ: 2**i >= a
v = ceil(317 * i / 8)       # байт на запись — целое, вверх
print(v * 262144 // 2**20)  # объём в Мбайт

Три шага — и каждый округляется вверх: бит на символ (ceil(log2(a))), байт на запись (ceil(… / 8)). А вот «сколько записей влезет» округляется вниз: //, половина записи не хранится.

Неизвестна длина или мощность — перебор

for n in range(1, 10000):       # длина записи
    v = ceil(n * i / 8)
    if v * 2000 <= 693 * 2**10:   # «отведено не более 693 Кбайт»
        last = n                # подходит — запоминаем
print(last)                     # наибольшая подходящая

Что писать под вопрос

В условииВ программе
десятичные цифры и 4090-символьный спецалфавитa = 10 + 4090
52 латинские буквы с регистром · заглавные латинские52 · 26 (число не назовут)
цифры шестнадцатеричной системы16 — у системы с основанием N ровно N цифр
не более 693 Кбайт · менее 9 Мбайт<= 693 * 2**10 · < 9 * 2**20
более 23 Мбайт · не менее 5 Гбайт> 23 * 2**20 · >= 5 * 2**30
наибольшая длина / мощностьlast = n, после цикла print(last)
наименьшая длина / мощностьprint(n) и break
неизвестна мощность алфавитаfor a in range(2, 100000):, в цикле i = ceil(log2(a))
ещё 15 байт сведений о пользователеv = ceil(n * i / 8) + 15 — после округления
сколько записей влезетprint(3 * 2**20 // v)

Пять ловушек

  • Алфавит целиком. Цифры + буквы + спецсимволы: 4090 спецсимволов укладываются в 12 бит, а вместе с цифрами 4100 — уже 13;
  • Бит — вверх. 4100 символов в 12 бит не влезут: нужен ceil(log2(a)), а не int и не голый log2;
  • Байт на запись — вверх. 4121 бит — это 516 байт, а не 515,1: память отводят целыми байтами на каждую запись;
  • Единицы. 1 Кбайт = 210 байт, 1 Мбайт = 220, 1 Гбайт = 230;
  • Наибольшая или наименьшая. Наибольшая — запомнить последнее подходящее, наименьшая — первое и break. Мощность — это a, а не число бит i.