Применим метод уменьшения в два раза области неопределенности(путь к стелажу выделен жирным шрифтом):
16
8-8
4-4 4-4
2-2 2-2 2-2 2-2
1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1
МЫ потратили 4 бита информации на поиск нужного стеллажа, теперь нащдо найти нужную нам полку:
6
3-3
2-1 2-1
1-1 1 1-1 1
Потрачено еще 3 бита информации. Всего информации 4+3 равно 7 бит информации Воспользуемся формулой: 2
2^i=N
Количество информации о нахождении стеллажа:
2^4=16
i=4 бита
Количество информации о нахождении полки:
2^i6 поэтому возьмем число 2^i так чтобы результат находился рядом с числом 6. Так как если число будет меньше 6 то мы не сможем точно получить информация, то 2^i должно быть больше 6. Значит:
по введенному натуральному числу n(n<=100) обозначаешему количество ворон вывести надпись ,на дереве n ворон.где ворона склоняеться соответсвено n:'ворон'.'ворона"вороны' в случаем n превышаюшего 100 вывести надпись 'ветка обламилась'
uses crt;
var n:integer; begin clrscr; repeat write('Введите число от 1 до 100 N = '); readln(n); until n>0; case n of 11..14:write('сидело ',n,' ворон'); 1..10,15..100: case n mod 10 of 1:write('На дереве сидела ',n,' ворона'); 2..4:write('На дереве сидели ',n,' вороны'); 0,5..9:write('На дереве сидело ',n,' ворон'); end else write('Ветка обломилась!'); end; readln; end.
16
8-8
4-4 4-4
2-2 2-2 2-2 2-2
1-1 1-1 1-1 1-1 1-1 1-1 1-1 1-1
МЫ потратили 4 бита информации на поиск нужного стеллажа, теперь нащдо найти нужную нам полку:
6
3-3
2-1 2-1
1-1 1 1-1 1
Потрачено еще 3 бита информации. Всего информации 4+3 равно 7 бит информации Воспользуемся формулой: 2
2^i=N
Количество информации о нахождении стеллажа:
2^4=16
i=4 бита
Количество информации о нахождении полки:
2^i6 поэтому возьмем число 2^i так чтобы результат находился рядом с числом 6. Так как если число будет меньше 6 то мы не сможем точно получить информация, то 2^i должно быть больше 6. Значит:
2^3=8
I=3
4+3=7 бит информации
по введенному натуральному числу n(n<=100) обозначаешему количество ворон вывести надпись ,на дереве n ворон.где ворона склоняеться соответсвено n:'ворон'.'ворона"вороны' в случаем n превышаюшего 100 вывести надпись 'ветка обламилась'
var n:integer;
begin
clrscr;
repeat
write('Введите число от 1 до 100 N = ');
readln(n);
until n>0;
case n of
11..14:write('сидело ',n,' ворон');
1..10,15..100: case n mod 10 of
1:write('На дереве сидела ',n,' ворона');
2..4:write('На дереве сидели ',n,' вороны');
0,5..9:write('На дереве сидело ',n,' ворон');
end
else write('Ветка обломилась!');
end;
readln;
end.