Var d:array[1..10] of integer;
s,i:integer;
Begin
s:=1;
For i:=1 to 10 do
begin
readln(d[i]);
If d[i]<>0
Then S:=S*d[i];
end;
Writeln(S);
end.
Чтобы закодировать 16 цветов, нужно 4 бита.
Чтобы закодировать 256 цветов, нужно 8 бит.
4 бита это пол байта. 8 бит это 1 байт.
640*480/2 - количество памяти в байтах, требуемое для хранения одной страницы в случае а).
640*480 - количество памяти в байтах, требуемое для хранения одной страницы в случае б).
Чтобы найти искомое количество страниц, нужно выполнить деление
(512*1024) / (640*480/2) для случая а)
(512*1024) / (640*480) для случая б)
(1 + 0)*(0+0) + 1*0
(1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна
(0 + 0) - ложна, т.к. обе перменные ложны
(1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны.
1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками
((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
(1 + 0)*(0+0) + 1*0
будет 0
давай будем делать как отладчик)
конец первого круга: (1 < n) (не запускается если это не правда)
i = i * 2 = 2; s = s + i = 2;
конец Второго круга : (2 < n) (не запускается если это не правда)
i = i * 2 = 4; s = s + i = 6 (2 + 4);
конец Третьего круга (4 < n) (не запускается если это не правда)
i = i * 2 = 8; s = s + i = 14 (6 + 8)
конец Четвертого круга (8 < n) (не запускается если это не правда)
i = i * 2 = 16; s = s + i = 30 (16 + 14)
Внимание: Здесь S > 14 (и будет только увеличиваться)
=> 4 < n <= 8 => Максимальное n = 8