Procedure GetAB(x: integer; var a: integer; var b: integer); begin a := 0; b := 1; while x > 0 do begin a := a + 1; b := b * (x mod 100); x := x div 100; end; end;
var x, a, b: integer;
begin for x := 10000 to 2000000000 do begin GetAB(x, a, b); if (a = 3) and (b = 18) then Println(a, b, x); end; end.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin Writeln('*** Исходный массив ***'); var v:=MatrRandom(7,7,-15,15); v.Println(4); Writeln(4*v.ColCount*'-'); var pr3:=v.Row(2).Aggregate(1,(x,y)->x*y); Writeln('Произведение элементов 3-й строки равно ',pr3); Writeln('Количество элементов, больших этого произведения, равно ', v.ElementsByRow.Where(t->t>pr3).Count); Writeln('Максимум в 3-м столбце равен ',v.Col(2).Max) end.