<span>Нельзя использовать кодовые слова, которые начинаются с 0 или с 10. 11 также не можем использовать, поскольку тогда мы больше не сможем взять никакое другое кодовое слово, а нам их нужно пять. Поэтому берём трёхзначное 110. По Условию Фано, если есть a, то ab существовать не может. Другими словами, мы не можем использовать начало с 0, а если возьмем 11, то начинать другие числа не сможем. Поэтому остается брать числа 110,1110,1111(последний берем без 0, т.к. он последний и других чисел уже не нужно, но если бы и было нужно, то стоит взять число 11110 не нарушая условия Фано)</span>
1*2^3+1*2^2+0*2^1+1*2^0=8+4+1=13
<em>// PascalABC.NET 3.2, сборка 1417 от 28.03.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
type
Mas=array[,] of integer;
procedure GetMas(s:string; var a:Mas);
begin
Writeln('*** Массив ',s,' ***');
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('Вводите элементы массива');
a:=ReadMatrInteger(n,m)
end;
function SumDiag(a:Mas):integer;
begin
Result:=0;
for var i:=0 to Min(a.RowCount,a.ColCount)-1 do Result+=a[i,i]
end;
begin
var a,b,c:Mas;
GetMas('A',a);
GetMas('B',b);
GetMas('C',c);
Writeln('Общая сумма элементов главных диагоналей равна ',
SumDiag(a)+SumDiag(b)+SumDiag(c))
end.
<u>Пример</u>
*** Массив A ***
Количество строк в массиве: 3
Количество столбцов в массиве: 4
Вводите элементы массива
-33 -50 34 -41
-31 10 37 31
32 -49 -32 -27
*** Массив B ***
Количество строк в массиве: 2
Количество столбцов в массиве: 2
Вводите элементы массива
-22 35
0 11
*** Массив C ***
Количество строк в массиве: 3
Количество столбцов в массиве: 2
Вводите элементы массива
23 38
17 -8
16 -1
Общая сумма элементов главных диагоналей равна -51
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=MatrGen(n,n,(i,j)->i<=n-j-1?i+1:0);
a.Println(3)
end.
Пример
n= 13
1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 0
3 3 3 3 3 3 3 3 3 3 3 0 0
4 4 4 4 4 4 4 4 4 4 0 0 0
5 5 5 5 5 5 5 5 5 0 0 0 0
6 6 6 6 6 6 6 6 0 0 0 0 0
7 7 7 7 7 7 7 0 0 0 0 0 0
8 8 8 8 8 8 0 0 0 0 0 0 0
9 9 9 9 9 0 0 0 0 0 0 0 0
10 10 10 10 0 0 0 0 0 0 0 0 0
11 11 11 0 0 0 0 0 0 0 0 0 0
12 12 0 0 0 0 0 0 0 0 0 0 0
13 0 0 0 0 0 0 0 0 0 0 0 0
P.S. Ненавижу того, кто поставил тут этот шрифт - все съезжает!