PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018
Внимание! Если программа не работает, обновите версию!
1)
begin
var n := 14;
var a := ReadArrReal(n);
var p := a[n - 2];
var s := a.IndexesOf(t -> t = p);
s.Select(i -> i + 1).Println.Count.Println // индексы,потом кол-во
end.
Пример
1 4.5 4 -0.3 -0.5 4.2 -1.1 4.4 -3.1 -3.4 4.2 -1.2 -1.1 1.1
7 13
2
2)
begin
var n := 16;
var a := ArrRandom(n, 0, 90);
a.Println;
var max := -1;
for var i := 0 to n div 2 - 1 do
begin
var t := a[i] - a[n - i - 1];
if max < t then max := t
end;
max.Println
end.
Пример
79 73 62 60 29 3 71 21 64 9 53 32 15 24 16 28
62
3)
begin
var a := ReadArrInteger(12);
var s := a.Where(t -> t.IsEven);
var k := s.Count;
if k > 1 then ((s.Aggregate(1.0, (p, q)-> p * q)) ** (1 / k)).Println
else
if k = 0 then Println(0)
else s.First.Println
end.
Пример
63 96 84 43 19 56 41 36 8 46 1 57
42.6070511534269