ответ: м и к р о ф о н
о
м ы ш ь
д п
и ь
с ю п
к л а в и а т у р а
е о э
р ц к
в и д е о к а р т а
с а
с н
о
м о н и т о р
Объяснение:
Відповідь:
Нужно закодировать ещё четыре буквы (В, Д, Е, Н), а в дереве есть три свободных узла. Каждое продолжение дерева из свободного узла создаёт два узла вместо одного, то есть количество узлов увеличивается на 1 . Значит, нужно продолжить дерево в одном месте. С точки зрения длины кодов это можно сделать двумя
из узла 10 (длина кода 2 ) получить два узла с длиной кода 3 ;
из узла 001 или 111 (длина кода 3 ) получить два узла с длиной кода 4 .
В первом случае мы получим новые коды длиной 3,3,3,3, во втором – 2,3,4,4.
Подсчитаем количество знаков для кодирования слова ВВЕДЕНИЕ в каждом их этих случаев. В первом случае длина всех добавленных кодов (буквы В, Д, Е, Н) одинакова –3 бита. Длина кода буквы И задана – тоже 3 бита. Всего получается 8х3=24 бита.
Во втором случае длина добавленных кодов разная. Очевидно, что для получения наименьшей длины самым коротким должен быть код буквы Е (она встречается чаще всех), следующим – код буквы В. Тогда длина кода для Е – 2 бита, для В –3 , для Д и Н – по4 . Всего потребуется бита. 3х2+2х3+4+4+3=23 бита
Пояснення:
Поделитесь своими знаниями, ответьте на вопрос:
using namespace std;
int main(){
setlocale( LC_ALL, "Russian" );
float M,K,S;
int dp;
cout << "Какие действие вы будете выполнять:" << endl;
cout << "1. Сложение. " << endl;
cout << "2. Отнимание." << endl;
cout << "3. Умножение." << endl;
cout << "Введите число для выбора действия" << endl;
cin >> dp; switch(dp)
{
case 1:
cout << "Число M = ";
cin >>M;
cout <<"Число K = ";
cin >> K;
S = M + K;
cout << "\n"<<M<<"+"<<K<<"="<<S<<endl;
break;
case 2:
cout <<"Число M = ";
cin >> M;
cout <<"Число K = ";
cin >> K;
S = M - K;
cout <<"\n" << M <<"-"<<K<<"="<<S<<endl;
break;
case 3:
cout <<"Число M = ";
cin >> M;
cout <<"Число K = ";
cin >> K;
S = M *K;
cout <<"\n"<<M<<"*"<<K<<"="<<S<<endl;
break;
}
system("pause");
return 0;
}