Задача сформулирована не корректно, т.к. недостаточно информации о формировании сообщения.
В случае если мы передаём значение 15 то сообщение будет размером 1<span>111 бит.</span>
В худшем случае минимальное сообщение будет иметь размерность 100<span>000 бит
В лучшем случае сообщение может быть представлено как поток 2битных сообщений. Максимальная длина потока будет равна 32 сообщениям. В случае оптимистичного прогноза успех может произойти на первом сообщении. Таким образом мы считаем номер в потоке и значение бита. Если значение == 1 то в этом вагоне находятся друзья.
</span>
X = 49. Программа обработает его и выдаст "94". Сумма цифр 4 + 9 = 9 + 4 = 13.
Язык в задании не указан, значит опишу алгоритм.
Объявим переменные нужные, обязательно обнулим переменную count(все переменные целочисленные)
1. Организация заполнения двумерного массива.(Из файла, руками, в исходном коде, как угодно)
2. Первый цикл от 0 до i(кол-во строк массива)
3. Внутри первого цикла еще один цикл от 0 до j(кол-во столбцов)
4. Внутри второго цикла делаем проверку вида
if (mass[i,j] == X) then
count = count + 1
5. Теперь когда все итерации будут пройдены, переменная count будет содержать значение равное кол-во элементов со значением X
6. Делаем вывод это значения.
7. Вы восхитительны!
(Толстой | Гоголь) & Чехов = Толстой & Чехов + Гоголь & Чехов - Толстой & Гоголь & Чехов
(Толстой | Гоголь) & Чехов = 215 + 275 - 110 = 490 - 110 = 380.
Ответ: 380.