Var a,b,c,d,e:integer;
begin
for a:=100 to 500 do begin
b:=a mod 2; c:=a div 10 mod 10; d:=a div 100;
e:=b+c;
if e=15 then writeln(a);
end;
end.
Задача сформулирована не корректно, т.к. недостаточно информации о формировании сообщения.
В случае если мы передаём значение 15 то сообщение будет размером 1<span>111 бит.</span>
В худшем случае минимальное сообщение будет иметь размерность 100<span>000 бит
В лучшем случае сообщение может быть представлено как поток 2битных сообщений. Максимальная длина потока будет равна 32 сообщениям. В случае оптимистичного прогноза успех может произойти на первом сообщении. Таким образом мы считаем номер в потоке и значение бита. Если значение == 1 то в этом вагоне находятся друзья.
</span>
| | | | | | | | | |
__________________
–| |–
–| |–
–| INTEL |–
–| |–
–| |–
–|___________________|–
| | | | | | | | | | |
примерно так
256 × 1024 =262144 килобайт
262145 × 1024 = 268435456 байт
268435456 × 8 = 2147483648 бит
Задачу удобно решать с помощью кругов Эйлера (см. прилагаемый файл).
К1+К2+К3 = 15000
К2 = 8000
К2+К3 = 12000
К1 = 15000-12000 = 3000
К1+К2 = 3000+8000 = 11000
Ответ: 11000