Если считать что у племени мульти в алфавите не 17, а 16 символов, то задача решается так: На 1 символ у племени мульти требуется log₂16 = 4 бита На сообщение из 100 символов - 100*4 = 400 бит Для племени пульти получится соответственно log₂32=5 бит, на все сообщение 50*5=250 бит Сравниваем: 400 бит > 250 бит Если в задаче 17, а не 16, то значение логарифма получится не целым (4.08746284125), можно это значение дальше и подставлять. Если считать, что каждый символ кодируется целым числом бит, то на 1 символ у племени мульти потребуется также 5 бит (округление выполняют всегда в большую сторону). Остальные расчеты делаются аналогично
1. var x, i: integer; var c : array[1..31] of boolean; begin c := 0; for i:= 1 to 31 do c[i] := false; for i := 1 to 31 do begin readln(x); if (x = 0) then c[i] := true; end; writeln('В следующие дни не было осадков: '); for i:= 1 to 31 do if (c[i]) then writeln(c[i]); readln(i); end.
2. var x,i,n,c: integer; begin realn(n); for i:= 1 to n do begin readln(x); if (x < 0) then c := c + x; end; writeln('ответ: '); write(c); readln(x); end.
P.S. На паскале не писал давно. Код не компилировал (ибо его сюда копипастить без последствий нельзя.), так что могут быть незначительные ошибки. + сразу говорю (как программист с некоторым опытом и будучи уже не школьником) - код го*но. Так никто не делает, так никто не пишет, но для "школьного паскаля" достаточно
На 1 символ у племени мульти требуется log₂16 = 4 бита
На сообщение из 100 символов - 100*4 = 400 бит
Для племени пульти получится соответственно log₂32=5 бит,
на все сообщение 50*5=250 бит
Сравниваем: 400 бит > 250 бит
Если в задаче 17, а не 16, то значение логарифма получится не целым (4.08746284125), можно это значение дальше и подставлять. Если считать, что каждый символ кодируется целым числом бит, то на 1 символ у племени мульти потребуется также 5 бит (округление выполняют всегда в большую сторону). Остальные расчеты делаются аналогично