По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 011, И — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова ГРАММ? Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.
#include <iostream> //подключаем библиотеки
using namespace std; //пространство имён
int main() {
setlocale(LC_ALL, "Russian");
int tableInt; //последовательность
int x; //икс :)
bool ZaB = true; //бул для красоты
cout << "Введите переменную X: "; cin >> x; //просим X
cout << "Введите последовательность через пробел: "; //последовательность
while(cin >> tableInt) //цикл
{
if(ZaB) //для красоты
{
cout << "Результат: ";
ZaB = false;
}
if(tableInt != 0 && tableInt > x) //вывод того, что больше
{
cout << tableInt << " "; //если ноль, то конец!
}else if(tableInt == 0)
{
break;
}
}
return 0; //возращаем ничего
}
var
a : array [1..200] of longint;
p,max : integer;
n,i,j : integer;
begin
readln (n);
p := 1; // 1
max := 0; // 2 3
for i := 1 to n do
begin
readln (a[i]);
p := p * a[i]; // 1
if a[i] > max then //2 3
begin //2 3
max := a[i]; // 2 3
j := i; //3
end; // 2 3
end;
writeln (p); //1
writeln (max); //2
writeln (j); //3
end.