program g; vara, b : integer; n : integer; s : integer; z: array[0..16] of integer; i : integer; v: integer; begina: =(-20); b: =20 ; n: =16 ; for i : = 1 to n dobegins : = trunc(random(b-a)+a); writeln (i: 2,'-е случайное число: ',s: 4); end; beginwriteln('індексы элементов кратных 3: '); for v: =0 to 16 do begin z[v]: =random(40)-20; if z[v] mod 3 = 0 then write(v, ' ') end; end; 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. значит:
Популярные вопросы