<em>// PascalABC.NET 3.3, сборка 1627 от 27.01.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var imin:=a.IndexMin; a:=(a?[:imin]+Arr(0)+a?[imin:]).ToArray;
var imax:=a.IndexMax; a:=(a?[:imax+1]+Arr(0)+a?[imax+1:]).ToArray;
a.Println
end.
<u>Пример</u>
n= 15
-32 11 7 8 -25 42 39 18 25 -33 -4 10 41 25 -36
-32 11 7 8 -25 42 0 39 18 25 -33 -4 10 41 25 0 -36
Ответ:
9
Объяснение:
Нужно чтобы если точка одновременно лежала в обоих отрезках, то она не лежала в А и если одновременно не лежала в обоих отрезках, то не лежала в А. Значит, А лежит или только в P, или только в Q. P\Q = [5;14] U [24;30], Q\P = 0. Максимальны отрезок, лежащий в одном из этих множеств -- это [5;14]. Ответ : 14 - 5 = 9
<em>// PascalABC.NET 3.3, сборка 1549 от 17.10.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var s:=BigInteger(0);
var f:=BigInteger(1);
for var i:=1 to ReadInteger('n=') do begin
f*=i;
s+=f
end;
Writeln('S= ',s)
end.
<u>Примеры</u>
n= 5
S= 153
n= 20
S= 2561327494111820313
n= 100
S= 94269001683709979260859834124473539872070722613982672442938359305624678223479506023400294093599136466986609124347432647622826870038220556442336528920420940313