Top.Mail.Ru
Ответы

Задача Егэ информатика

Задание 7 (№8944).
(Е. Джобс) Для хранения сжатого растрового изображения выделено 3 Мбайт. Для каждого пикселя записывается информация о его цвете и уровне прозрачности. Как информация о цвете, так и информация об уровне прозрачности записываются с помощью одинакового количества бит для каждой части. После кодирования информации о каждом пикселе изображение сжимается. Сжатое изображение меньше исходного на 20%. Определите, какое максимальное количество уровней прозрачности может быть у изображения размером 1080х920, если известно, что используется цветовая палитра, содержащая 1 миллион цветов.

Дополнен

желательно с объяснением

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок

2**20= 1 млн (2**i)
i=20
L=3*2**23/0.8 (0.8 так как меньше на 20%)
k=1080*920
print(L/k-i)
получаем 11.6 ( но мы берём 11)
далее 2**11=2048
Ответ:2048

Аватар пользователя
Ученик

Сначала найдем общее количество пикселей в изображении:

1080 * 920 = 993600

Затем найдем количество бит, необходимых для записи информации о каждом пикселе:

3 Мбайт = 3 * 1024 * 1024 байт = 3145728 байт
3145728 байт / 993600 пикселей = 3.17 байта на пиксель
3.17 байта * 8 бит = 25.36 бит на пиксель

Так как информация о цвете и прозрачности записываются с помощью одинакового количества бит для каждой части, то на один пиксель приходится 12.68 бит на цвет и 12.68 бит на прозрачность.

После сжатия изображение становится на 20% меньше, т.е. его размер уменьшается на 20% от исходного размера:

1080 * 920 * 0.2 = 199680

Значит, новый размер изображения составляет:

1080 * 920 - 199680 = 787200 пикселей

Теперь можно найти максимальное количество уровней прозрачности, используя формулу:

2^x <= количество уровней прозрачности

Где x - количество бит, выделенных на запись информации об уровне прозрачности.

Для нахождения x можно использовать формулу:

12.68 * 787200 = x * количество уровней прозрачности
x = log2(12.68 * 787200 / количество уровней прозрачности)

Подставляя значения, получаем:

x = log2(9989760 / количество уровней прозрачности)

2^x <= количество уровней прозрачности
2^log2(9989760 / количество уровней прозрачности) <= количество уровней прозрачности
9989760 / количество уровней прозрачности <= количество уровней прозрачности
9989760 <= количество уровней прозрачности^2
количество уровней прозрачности <= sqrt(9989760) ≈ 3160

Таким образом, максимальное количество уровней прозрачности у изображения размером 1080х920 с использованием цветовой палитры, содержащей 1 миллион цветов, будет равно 3160

Аватар пользователя
Профи
1мес

я сам недавно на такой задаче застрял, прям приуныл, думал опять завалю пробник, но потом нашёл разбор в Умскул там реально разжевали, теперь понимаю что палитра 1 млн это 20 бит, а прозрачность тоже 20 бит, сжато 3 мб, всё сложилось

Аватар пользователя
Ученик

Для хранения сжатого растрового изображения выделено 3 Мбайт. Для каждого пикселя записывается информация о его цвете и уровне прозрачности. Как информация о цвете, так и информация об уровне прозрачности записываются с помощью одинакового количества бит для каждой части. После кодирования информации о каждом пикселе изображение сжимается. Сжатое изображение меньше исходного на 20%. Определите, какое максимальное количество уровней прозрачности может быть у изображения размером 1080х920, если известно, что используется цветовая палитра, содержащая 1 миллион цветов

Аватар пользователя
Гуру

2