Вариант 1
изображение · экономия трафикаФотограф делает снимки цифровой камерой. Каждая фотография — растровое изображение размером 1920×1080 пикселей, используется палитра из 1119 цветов. Для экономии трафика приложение-мессенджер оцифровывает снимки повторно, используя размер 1280×720 пикселей и глубину цвета 5 бит. Сколько Кбайт трафика экономится при передаче 50 фотографий? В ответе укажите целую часть полученного числа.
Разбор
Шаг 1. Глубина цвета исходных снимков. Нужно i бит, где 2i ≥ 1119: 210 = 1024 мало, 211 = 2048 хватает, значит i = 11 бит.
Шаг 2. Объём одного снимка в битах. До: 1920·1080·11 = 22809600 бит; после: 1280·720·5 = 4608000 бит.
Шаг 3. Экономия на 50 снимках: 50·(22809600 − 4608000) = 910080000 бит = 910080000 / 8 / 1024 ≈ 111093.750 Кбайт. Целая часть — 111093.
Ответ: 111093
Решение на Python.
from math import ceil, log2
i1 = ceil(log2(1119)) # бит на пиксель
before = 1920 * 1080 * i1 # бит в одном снимке до пересжатия
after = 1280 * 720 * 5
saved = 50 * (before - after) / 8 / 1024 # Кбайт
print(int(saved))