VAR mx, ind: Integer; n, m, i, j: Integer; b: Array of Integer; a: Array of Array of Integer; BEGIN Read(n); SetLength(a, n+1); For i := 1 to n do SetLength(a[i], n+1);
For i := 1 to n do For j := 1 to n do Read(a[i][j]);
SetLength(b, n+1); For i := 1 to n do b[i] := a[i][i];
mx := b[1]; ind := 1; For i := 2 to n do If (mx < b[i]) then begin mx := b[i]; ind := i; End;
Write('Макс. элемент гл. диагонали - B[',ind,'] = ', mx); END.
Или намного проще (если нужен только ответ): VAR mx, ind, el: Integer; n, m, i, j: Integer; BEGIN Read(n);
// Присваем макс. элементу самое минимальное число, // которое точно не встретится в массиве mx := -999999999;
For i := 1 to n do For j := 1 to n do begin Read(el); If (i <> j) then Continue; If (mx < el) then begin mx := el; ind := i; End; End;
Write('Макс. элемент гл. диагонали - B[',ind,'] = ', mx); END.
Для начала считаем кол-во цифр в данном сообщении: 7. Значит получается, что максимальное кол-во букв с двойным обозначением (тобиш в и г) тут 3, т.к 4 - уже 8 цифр. Можно рассмотреть все 4 случая: 1) все 7 - буквы буквы с одной цифрой (а и б) - 1 вариант расположения (очевидно) 2) 1 буква - в или г: эту одну букву можно расположить 7-1 = 6 вариантами, то есть еще + 6 3) 2 буквы - в или г. Для выбора местоположения первой из этих букв есть 6 вариантов расположения (как мы уже поняли из 2) ), а для второго остается 7-2= 5 цифр, а значит 4 позиции. Итого 5*4 = 20 и делим это пополам, ибо половина случаев - симметрична (просто меняются местами двойные буквы - а нам без разницы). Получается 20/2= 10 4) 3 буквы - буквы в или г: Рассмотрим от оставшейся одиночной буквы: у нее есть 7 вариантов расположения, вот и все. 1+6+10+7 = 24
Проверка:
250/8=31, остаток 2
31/8=3, остаток 7
Выписываем результат: 3 7 2 или 372(8)