Var a: array[1..10] of integer; i: integer; begin for i:=1 to 10 do a[i] := i-4; a[2] := a[9] + a[2]; a[9] := a[2] - a[9]; a[2] := a[2] - a[9]; for i:=1 to 10 do write(a[i], ' '); end.
uuks2012
25.05.2021
// PascalABC.NET 3.2, сборка 1379 от 21.01.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrGen(10,i->i-4,1); a.Println; Swap(a[1],a[8]); a.Println end.
Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
Алла14
25.05.2021
//PascalABC.Net 3.0, сборка 1064 type IntArray = array of integer;
var rows, cols: integer; M: array of IntArray;
begin Write('Количество строк и столбцов матрицы: '); Read(rows, cols); var Avg: array of double := new double[cols]; M := new IntArray[rows]; SetLength(Avg, cols); for var i := 0 to rows - 1 do begin M[i] := ArrRandom(cols, -25, 25); M[i].Println(#9) end; for var j := 0 to cols - 1 do Avg[j] := Range(0, rows - 1).Select(x -> M[x, j]).Average; Writeln('Наименьшее среднее по столбцам равно ', Avg.Min) end.
a: array[1..10] of integer;
i: integer;
begin
for i:=1 to 10 do
a[i] := i-4;
a[2] := a[9] + a[2];
a[9] := a[2] - a[9];
a[2] := a[2] - a[9];
for i:=1 to 10 do
write(a[i], ' ');
end.