Уровень: Базовый
Условие задачи:
Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 1024×768 пикселей, используя палитру из 4096 цветов.
Снимки сохраняются в памяти камеры, группируются в пакеты по несколько штук, а затем передаются в центр обработки информации со скоростью передачи данных 1 310 720 бит/с.
Каково максимально возможное количество снимков в одном пакете, если на передачу одного пакета отводится не более 300 секунд?
Теоретическая справка:
В данной задаче важно понимать как работают переводы в различные единицы измерения информации, шпаргалку на эту тему можно найти тут.
Код решения:
Комментарии к коду:
- pixels = 1024 * 768
Вычисляем общее количество пикселей, умножая ширину (1024) на высоту (768). - colors = 4096
Устанавливаем количество доступных цветов, равное 4096. - i = 12
Ищем сколько бит уходит на один пиксель. Определяем количество бит на один пиксель; так как 4096 требует 12 бит (2^12). - speed = 1_310_720
Устанавливаем скорость передачи данных, равную 1,310,720 бит в секунду. - time = 300
Указываем время, в течение которого будет осуществляться передача данных, равное 300 секунд. - one_picture_bit = pixels * i
Вычисляем количество бит, необходимых для одной картинки, умножая количество пикселей на количество бит на пиксель. - all_bit = speed * time
Вычисляем общее количество бит, которые могут быть переданы за заданное время, умножая скорость на время. - pictures = all_bit / one_picture_bit
Вычисляем количество изображений, которые можно передать за указанное время, деля общее количество бит на количество бит для одной картинки. - print(floor(pictures))
Печатаем целочисленное значение количества изображений, округляя вниз; ожидается, что ответ будет 41.