Язык? Не очень понял суть вопроса. Если ширину найти то B = A-2 лол
vypolga1347
10.01.2023
Будем считать, что появление символов равновероятно. Первое сообщение содержит х символов, тогда второе сообщение содержит 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 символа.
Butsan-Bagramyan
10.01.2023
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк/столбцов в матрице:'); Writeln('*** Исходная матрица ***'); var a:=MatrRandom(n,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var (s,p):=(0,BigInteger(1)); for var i:=0 to n-1 do if (a[i,i]>0) and (a[i,i].IsEven) then s+=a[i,i] else if a[i,n-1-i].IsOdd then p*=a[i,n-i-1]; Writeln(s*p) end.