В данном случае используется не алфавитный подход к измерению информации (когда считаются символы), а содержательный - когда считаются события. Например, когда кидаем монетку у нас может получиться всего 2 события: орел или решка. Так как 2 - это 2 в степени 1, то это значит, что сообщение несет 1 бит информации. Так и здесь: после желтого у тебя возможно всего два события: красный или зеленый. Значит сообщение несет 1 бит информации.
Решение 5 задачи, решу 2 и 4, если ответите на вопрос в обсуждении.
Опять же задачи максимально ущербно сформулированы, и тут нет ответа на такие вопросы как "выводить ли сам массив на экран, вещественные или целые использовать типы, как вообще ввод и вывод должен работать", поэтому не жаловаться на неверное построение задачи.
program abc;
var
a:array[1..100] of integer;
i,chet,nechet:integer;
begin
nechet:=0;
chet:=0;
for i:=1 to 100 do
a[i]:=random(99)+1;
for i:=1 to 100 do
if(odd(a[i])=true) then inc(nechet)
else inc(chet);
writeln(chet,' ',nechet);
end.
Перевод числа из десятичной системы счисления в систему по основанию k делается в два шага.
На первом шаге нужно делить исходное число на k нацело и выписывать остатки от деления. Результат деления снова делим на k и повторяем, пока не получим 0.
121 / 2 = 60, остаток 1
60 / 2 = 30, остаток 0
30 / 2 = 15, остаток 0
15 / 2 = 7, остаток 1
7 / 2 = 3, остаток 1
3 / 2 = 1, остаток 1
1/2 = 0, остаток 1
На втором шаге выписываем остатки в обратном порядке, получая результат: 1111001
Итак, 121₁₀ = 1111001₂ и в двоичном представлении пять единиц.
Ответ: 5