// PascalABC.NET 3.2, сборка 1488 от 21.06.2017 // Внимание! Если программа не работает, обновите версию!
№1
begin var a:=ArrRandom(ReadInteger('n='),-5,5); a.Println; Writeln('Количество различных злементов равно ', a.Distinct.Count) end.
Пример n= 20 -1 -1 5 -3 0 5 5 -5 -2 -4 -1 -2 -2 -2 2 -2 -3 1 2 1 Количество различных злементов равно 9
№2
begin var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('Вводите элементы построчно'); var t:=ReadMatrInteger(m,n).ElementsWithIndexes.MinBy(x->x[0]); Writeln('Минимальный элемент A[',t[1]+1,',',t[2]+1,']=',t[0]) end.
Пример Количество строк и столбцов в массиве: 3 4 Вводите элементы построчно 5 -11 0 9 12 7 -12 0 8 23 6 20 Минимальный элемент A[2,3]=-12
Из условия Фано следует, что в префиксном неравномерном двоичном коде, предусматривающем однозначное декодирование, ни одно кодовое слово не может быть началом другого.
Таким образом, оставшиеся три кода не могут быть началом кода буквы Б, и началами кодов друг друга.
То есть коды 0 и 00 отпадают сразу, т.к. это начала буквы Б.
Если предположить, что один из кодов равен 1, и что нам нужны кратчайшие коды, значит оставшиеся коды могут быть только 01 и 011.
Если предположить, что коды двузначны, тогда кодами могут быть 01, 10 и 11.
В первом случае суммарная длина кодов равна 1+2+3+3 = 9, во втором случае - 2+2+2+3 = 9.
Оба варианта подходят, кратчайшая суммарная длина - 9
Для ввода данных в программу мы используем функцию input