2 сообщения содержат одинаковое количество символов. Количество символов в первом тексте в 2,5 раза меньше,чем во втором.Сколько
символов содержит алфавит с помощью которого записывают сообщения,если известно что размер каждого алфавита не превышает 32 символов и на каждый приходится целое число битов. Помогите пожалуйста...
Будем считать, что появление символов равновероятно. Первое сообщение содержит х символов, тогда второе сообщение содержит 2,5х символов. Т. к. количество информации (I), которое содержит сообщение, закодированное с помощью знаковой системы, равно количеству информации, которое несет один символ (i), умноженному на число символов в сообщении, то: I = x*i1 I = 2,5x*i2 А т. к. количество информации у нас одинаково, то: x*i1 = 2,5x*i2 i1 = 2,5*i2 2*i1 = 5*i2 А т. к. нам известно, что мощность каждого алфавита не превышает 32, то количество информации, которое несет один символ (i) вычисляется по фомуле: i <= log2(32). Т. к. на каждый символ приходится целое число битов, то i может принимать значения 1, 2, 3, 4, 5 битов. Подставляя эти значения в формулу соответствия между количеством информации, приходящимся на один символ для первого и второго алфавита 2*i1 = 5*i2, находим, что i1 = 5 и i2 = 2. Следовательно, мощность первого алфавита равна 2^5 = 32 символа, а второго алфавита равна 2^2 = 4 символа.
const nn=10; var a:array[1..nn] of integer; i,n:integer; begin write('Введите количество элементов массива: '); readln(n); for i:=1 to n do readln(a[i]); for i:=1 to n do write(a[i],' '); writeln; for i:=n downto 1 do write(a[i],' '); end.
const nn=50; var a:array[1..nn] of integer; i,n:integer; begin write('Введите количество элементов массива: '); readln(n); for i:=1 to n do readln(a[i]); writeln; for i:=1 to n do if i mod 2 =0 then write(a[i],' '); end.