Для кодирования буквы Д нельзя использовать код, который начинался бы с 0, потому что 0 - это код буквы Б. Значит, код буквы Д должен начинаться с 1. Пробуем варианты:
10 - занято (буква В)
11 - не подходит, так как коды букв А и Г начинаются с 11
110 - занято (буква Г)
111 - не подходит, так как код буквы А начинаются с 111
1110 - занято (буква А)
1111 - можно использовать
Ответ: 1111
В данном случае выполнение условия Фано является необходимым, так как для любого другого возможного "кандидита" на роль Д (длиной 4 знака или меньше) можно указать некую спорную комбинацию, которую нельзя будет расшифовать однозначно - см. прикреплённую таблицу. Таким образом, только "1111" подходит для кодирования Д
Дано
Решение.
формулы: I = i*K, N = 2^i
получим i для первого и второго алфавита.
отсюда имеем во втором алфавите отводится в два раза больше памяти под хранение.
так как N = 2 ^ i
то имеем что в первом алфавите N = 2, а во втором N = 4
1) 8×70=560
2) 3500÷560=6,25
Ответ:6,25
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Input of 10 elements on an interval [-10; 10]:\n");
int a = -10, b = 10, i, arr[10];
for(i = 0; i < 10; i++)
{
printf("\na[%d] = ", i);
scanf("%d", &arr[i]);
}
for(i = 0; i < 5; i++)
{
arr[i] = -arr[i];
}
for(i = 5; i < 10; i++)
{
arr[i] = -arr[i];
}
printf("\nMassiv with inversion:\n");
for(i = 0; i < 10; i++)
{
if(arr[i] >= a && arr[i] <= b)
{
printf("\na[%d] = %d", i, arr[i]);
}
else printf("\nError input");
}
return 0;
}