3-2
4-4
5-1
Отметь как лучший, если не лень:) Бобра))
Давай разбираться. Если бы квартира в доме была 1 = 2^0, то информация, что Вася живет в этой квартире, имела бы 0 информации.
Потому что, если мы заранее знаем, что Вася живет в этом доме, то сразу ясно, что в этой единственной квартире.
Дополнительное сообщение об этом не несет никакой информации вообще.
Если квартир 2 = 2^1, то сообщение несет 1 бит информации. 1 квартира = 0, 2 квартира = 1.
Если квартир 3, 2<3<4, то есть 2^1<3<2^2, то будет 2 бита. 1кв = 00, 2кв = 01, 3кв = 10. Одного бита не хватает.
И так далее. Сколько квартир в доме (в смысле - 2 в какой степени), столько бит и будет.
128 < 150 < 256, то есть 2^7 < 150 < 2^8, поэтому уточнение номера квартиры дает 8 бит информации.
Извини что без комментов,но надеюсь разберешься в коде!
Поскольку повтор вопроса, будет повтор ответа)
program p1;
var
n,m,s:real;
i:integer;
a:array[1..7] of real;
begin
write('Write n: '); readln(n);
write('Write m: '); readln(m);
writeln('Enter the weight of things: ');
for i:=1 to 7 do
read(a[i]);
s:=0;
for i:=1 to 6 do
s:=s+a[i];
if s>20
then
begin
s:=(s-20)*n;
writeln('For luggage: ',s:0:2);
end
else
writeln('For luggage: ',s:0:2);
if a[7]>5
then
begin
a[7]:=(a[7]-5)*m;
writeln('For hand luggage: ',a[7]:0:2);
end
else
writeln('For hand luggage: ',a[7]:0:2);
readln
end.
<span />Получилось:<span>344(10) = 530(8)
Мы просто должны разделить это число на 8.
344/8=43 остаток 0
43/8=5 остаток 3
5 мы сносим 5
Ответ 530(8)
</span>
<span />