/// PascalABC.Net 3.4.2, 2053(11.05.19)
var
a, n: longint;
text: textfile;
function myMod(num, power, divider: longint): longint;
var
rest, i: longint;
begin
rest:=1;
divider := abs(divider);
for i := 1 to power do
begin
rest := rest * num;
rest := rest mod divider;
end;
myMod := rest;
end;
begin
assign(text, 'input.txt');
{rewrite(text);
writeln(text, 109);
close(text);}
reset(text);
read(text, a);
writeln('a=', a);
close(text);
n := 1;
repeat
n := n + 1;
until MyMod(n, n, a) = 0;
assign(text, 'output.txt');
rewrite(text);
writeln(text, n);
close(text);
{reset(text);
read(text, n);
writeln('n=', n);
close(text);}
end.
// PascalABC.NET 3.2, сборка 1356 от 04.12.2016
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
Writeln('Среднее положительных ',a.Where(x->x>0).Average);
Writeln('Минимум ',a.Min)
end.
Пример
n= 15
35 27 -7 -1 20 13 6 50 -9 23 -38 46 30 27 14
Среднее положительных 26.4545454545455
Минимум -38
2. Школьный вариант на древних версиях
program Ex1;
const
nn=100; { ограничение на длину массива }
var
i,n,s,k:integer;
a:array[1..nn] of integer;
begin
Randomize;
Write('n='); Read(n);
k:=0;
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i]>0 then begin
k:=k+1; s:=s+a[i]
end
end;
Writeln;
Writeln('Среднее положительных ',s/k)
end.
program Ex2;
const
nn=100; { ограничение на длину массива }
var
i,n,min:integer;
a:array[1..nn] of integer;
begin
Randomize;
Write('n='); Read(n);
min:=100; { больше максимально возможного }
for i:=1 to n do begin
a[i]:=Random(101)-50;
Write(a[i],' ');
if a[i]<min then min:=a[i]
end;
Writeln;
Writeln('Минимум ',min)
end.
Выводы о том, чему и как учат в школе, делайте самостоятельно...