Есть ответ 👍

32. цвет пикселя монитора определяется тремя составляющими: зеленой, синей и красной. под красную и синюю составляющие отвели по 5 бит. сколько бит отвели под зеленую составляющую, если растровое изображение размером 8(8 пикселей занимает 128 байт?

251
367
Посмотреть ответы 2

Ответы на вопрос:

гора7р
4,5(25 оценок)

Всего 8*8=64 точки  на кодирование каждой точки требуется 128/64=2 байта = 16 бит. так как под синюю и красную составляющие отвели по 5 бит, то под зеленую составляющую отводится 16-5-5=6 бит

Будем суммировать все положительные числа, пока не встретится 0. если полученная сумма сразу делится на 3, то нам повезло. если нет, надо что-то делать - либо прибавлять отрицательные числа, либо вычитать положительные. я не буду делать различия между ними - в любом случае надо вычитать модули чисел. - если сумма дает остаток 1, то надо вычесть или одно число с остатком 1, или два числа с остатком 2 (вычитать три или более числа нерационально: числа, делящиеся на 3, картину не портят; вычитание трёх чисел с одинаковым остатком не влияет на остаток суммы, а среди трёх чисел с остатком 1 или 2 всегда найдутся два одинаковых). - аналогично (с точностью до перестановки 1 и 2) поступаем, если сумма даёт остаток 2. если после этих всех ухищрений сумма стала отрицательной, просто выводим 0, как будто мы взяли только последний 0. код (pascalabc.net 3.2) begin   var sum : = 0;   var mins : = matrfill(2, 2, maxint div 2);   var temp: integer;   repeat     temp : = readinteger;     if temp > 0 then       sum : = sum + temp;     temp : = abs(temp);     var i : = temp mod 3 - 1;     if i > -1 then       if temp < mins[i, 0] then         (mins[i, 0], mins[i, 1]) : = (temp, mins[i, 0])       else if temp < mins[i, 1] then         mins[i, 1] : = temp;   until temp = 0;   var i : = sum mod 3 - 1;   if i > -1 then     sum : = max(sum - mins[i, 0], sum - mins.row((i + 1) mod 2).sum);   writeln(max(sum, 0)) end. 

Популярно: Информатика