1.Определите используемую глубину цвета (в битах на пиксель), если известно, что для кодирования изображения размером 1024 X 768 пикселей потребовалось 1.5 Мбайт (сжатие не производилось).
2.Музыкальный фрагмент был оцифрован и записан в виде файла без использования сжатия данных. Получившийся файл был передан в город А по каналу связи за минуты. Затем тот же музыкальный фрагмент был оцифрован повторно с разрешением в раза ниже и частотой дискретизации в раз выше, чем в первый раз. Сжатие данных не производилось. Полученный файл был передан в город Б за секунд.
Во сколько раз скорость пропускная канала в город Б больше пропускной канала в город А?
3. После преобразования растрового графического файла его объём уменьшился в 1.6 раз.
Сколько цветов было в палитре первоначально, если после преобразования было получено растровое изображение того же разрешения в 32-цветной палитре? (С решениями)
254₈ = 172₁₀ = АС₁₆
9F₁₆ = 159₁₀ = 237₈
Объяснение:
Переведите число 254₈ по схеме А8 → А10 → А16
254₈ = 2 * 8² + 5 * 8¹ + 4 * 8⁰ = 2 * 64 + 5 * 8 + 4 * 1 = 128 + 40 + 4 = 172₁₀
254₈ = 172₁₀
172 / 16 = 10 + остаток 12 (С)
10 / 16 = 0 + остаток 10 (А)
записываем остатки снизу вверх
В качестве цифр 16-ой системы счисления используются цифры от 0 до 9 и латинские буквы от A до F.
А = 10₁₀ B = 11₁₀ C = 12₁₀ D = 13₁₀ E = 14₁₀ F = 15₁₀
172₁₀ = АС₁₆
Переведите число 9F₁₆ по схеме А16 → А10 → А8
9F₁₆ = 9 * 16¹ + F * 16⁰ = 9 * 16 + 15 * 1 = 144 + 15 = 159₁₀
В качестве цифр 16-ой системы счисления используются цифры от 0 до 9 и латинские буквы от A до F.
А = 10₁₀ B = 11₁₀ C = 12₁₀ D = 13₁₀ E = 14₁₀ F = 15₁₀
9F₁₆ = 159₁₀
159 / 8 = 19 + остаток 7
19 / 8 = 2 + остаток 3
2 / 8 = 0 + остаток 2
записываем остатки снизу вверх
159₁₀ = 237₈
Самый простой случай из оставшихся - если осталось отдать 3 рубля. В таком случае выдаём оставшуюся трёшку и радуемся выполненной задаче.
Иначе придется изменять количество выданных пятерок - при "жадном" выборе решения не получилось.
- Попробуем убрать одну пятерку. Если оставалось выдать 1 рубль или 4 рубля - теперь нужно выдать 5+1=6 рублей или 5+4=9 рублей соответственно, но это можно сделать только трёшками.
- Попробуем убрать две пятерки. Если оставалось выдать 2 рубля, то теперь надо выдать 12 рублей, что опять-таки можно сделать трёшками.
Резюмируем.
Если amount делится на 5, то надо выдать (amount//5) пятерок и 0 трёшек.
Если amount дает остаток 1 при делении на 5, то надо выдать (amount//5 - 1) пятерок и 2 трёшки.
Если amount дает остаток 2 при делении на 5, то надо выдать (amount//5 - 2) пятерок и 4 трёшки.
Если amount дает остаток 3 при делении на 5, то надо выдать (amount//5) пятерок и 1 трёшку.
Если amount дает остаток 4 при делении на 5, то надо выдать (amount//5 - 1) пятерок и 3 трёшки.
Такой алгоритм позволяет дать размен минимальным количеством монет.
Для небольшого удобства в программе этот выбор записан немного по-другому. Код во вложении.