program pr; label l; var mas: array[1..10] of integer; i,k,n,b,sum: integer; beginrandomize; for i: =1 to 10 do mas[i]: =round(())*random+(-10)); l: for i: =1 to 10 dobeginif n< mas[i] thenbeginn: =mas[i]; k: =i; end; end; writeln ('a[',k,']=',n); mas[k]: =-11; n: =0; k: =0; if b=0 thenbeginb: =1; goto l; end; readln; end.
программу проверил все работает
Ответ дал: Гость
1 способ
применим метод уменьшения в два раза области неопределенности(путь к стелажу выделен жирным шрифтом):
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
2^i=n
количество информации о нахождении стеллажа:
2^4=16
i=4 бита
количество информации о нахождении полки:
2^i6 поэтому возьмем число 2^i так чтобы результат находился рядом с числом 6. так как если число будет меньше 6 то мы не сможем точно получить информация, то 2^i должно быть больше 6. значит:
Популярные вопросы