// PascalABC.NET 3.2, сборка 1437 от 03.05.2017 // Внимание! Если программа не работает, обновите версию!
begin var a:=MatrRandom(6,3,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); a.Rows.Select(r->r.Where(x->x>0).Sum).Print; Println(' - суммы положительных');
Writeln; var z:=MatrRandom(3,5,-10,20); z.Println(4); Writeln(4*z.ColCount*'-'); z.Rows.SelectMany(x->x).Where(x->(x>0) and (x<15)).Println end.
Procedure GoGo(a : Integer; s : String); Begin If a<=24 then If a=24 then Begin Inc(N); Writeln(s); end else Begin GoGo(a+2,s+'+2'); GoGo(a*2,'('+s+')*2'); end; end;
// Внимание! Если программа не работает, обновите версию!
begin
var a:=MatrRandom(6,3,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
a.Rows.Select(r->r.Where(x->x>0).Sum).Print;
Println(' - суммы положительных');
Writeln;
var z:=MatrRandom(3,5,-10,20);
z.Println(4); Writeln(4*z.ColCount*'-');
z.Rows.SelectMany(x->x).Where(x->(x>0) and (x<15)).Println
end.
Пример
-67 56 -68
16 -59 -82
-54 -44 90
82 95 39
-44 60 22
-97 82 23
56 16 90 216 82 105 - суммы положительных
7 -5 -3 5 -7
3 5 -8 14 -6
12 14 19 14 -7
7 5 3 5 14 12 14 14
(1+2+2+2+2+2)*2+2
(1+2+2+2+2)*2+2+2+2
(1+2+2+2)*2+2+2+2+2+2
(1+2+2)*2+2+2+2+2+2+2+2
((1+2+2)*2+2)*2
((1+2+2)*2)*2+2+2
(1+2)*2+2+2+2+2+2+2+2+2+2
((1+2)*2+2+2+2)*2
((1+2)*2+2+2)*2+2+2
((1+2)*2+2)*2+2+2+2+2
((1+2)*2)*2+2+2+2+2+2+2
(((1+2)*2)*2)*2
(1)*2+2+2+2+2+2+2+2+2+2+2+2
((1)*2+2+2+2+2+2)*2
((1)*2+2+2+2+2)*2+2+2
((1)*2+2+2+2)*2+2+2+2+2
((1)*2+2+2)*2+2+2+2+2+2+2
(((1)*2+2+2)*2)*2
((1)*2+2)*2+2+2+2+2+2+2+2+2
(((1)*2+2)*2+2+2)*2
(((1)*2+2)*2+2)*2+2+2
(((1)*2+2)*2)*2+2+2+2+2
((1)*2)*2+2+2+2+2+2+2+2+2+2+2
(((1)*2)*2+2+2+2+2)*2
(((1)*2)*2+2+2+2)*2+2+2
(((1)*2)*2+2+2)*2+2+2+2+2
(((1)*2)*2+2)*2+2+2+2+2+2+2
1)*2)*2+2)*2)*2
(((1)*2)*2)*2+2+2+2+2+2+2+2+2
1)*2)*2)*2+2+2)*2
1)*2)*2)*2+2)*2+2+2
1)*2)*2)*2)*2+2+2+2+2
Var N : Integer;
Procedure GoGo(a : Integer; s : String);
Begin
If a<=24 then
If a=24 then
Begin
Inc(N);
Writeln(s);
end
else
Begin
GoGo(a+2,s+'+2');
GoGo(a*2,'('+s+')*2');
end;
end;
Begin
N:=0;
GoGo(1,'1');
Writeln('N = ',N);
end.