................................................................
===== PascalABC.NET =====
function S(a: array[,] of integer) :=
a.Cols.Where(p -> p.All(q -> q >= 0)).SelectMany(p -> p).Sum;
function M(a: array[,] of integer): integer;
begin
var n := a.RowCount;
Result := integer.MaxValue;
var s: integer;
for var i := 0 to n - 2 do
begin
s := 0;
for var j := 0 to i do
s += Abs(a[i - j, j]);
if s < Result then
Result := s
end;
for var j := 1 to n - 1 do
begin
s := 0;
for var i := n - 1 downto j do
s += Abs(a[i, n - i + j - 1]);
if s < Result then
Result := s
end
end;
begin
var n := ReadInteger('n =');
var a := MatrRandom(n, n, -10, 30);
a.Println;
S(a).Println;
M(a).Println;
end.
Они равны так как:
В левой части, по закону де Моргана и закону двойного отрицания мы получим A & B
И таблица истинности
А В А&В
0 0 0
0 1 0
1 0 0
1 1 1
в правой части такая же таблица.
1) 0(False, ложь)
2)1(True, правда)
<em>// PascalABC.NET 3.3, сборка 1555 от 21.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
ReadSeqReal('Вводите последовательность',ReadInteger('N=')).Reverse.Println
end.
<u>Пример</u>
N= 10
Вводите последовательность 5 9 3.15 -6.7 0 12 100 35 0.03 1e-20
1E-20 0.03 35 100 12 0 -6.7 3.15 9 5