// PascalABC.NET 3.2, сборка 1467 от 02.06.2017 // Внимание! Если программа не работает, обновите версию!
function IsPrime(n:integer):boolean; begin if n<4 then Result:=True else begin var found:=(n mod 2=0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p=0); p+=2 end; Result:=not found end end;
begin Writeln('S=',ReadSeqInteger('Вводите:',ReadInteger('n=')) .Where(m->IsPrime(m) and (m>0)).Sum) end.
Function P(A:integer):boolean; Var d,K:integer; Begin P:=true; if A < 2 then P:=false else if A > 3 then if A mod 2 = 0 then P:=false else Begin K:=Trunc(Sqrt(A)); d:=3; While d <= K do Begin if A mod d = 0 then P:=false; d:=d+2 End; End; End; Var A,n:integer; S:real; Begin S:=0; Write('n = ');ReadLn(n); Write('Введите n чисел: '); For n:= 1 to n do Begin Read(A); if P(A) then S:=S+A; End; Write('S = ',S) End.
var b: array[1..n, 1..n] of integer; a: array[1..n] of integer; i, j, s1, s2, max: integer;
begin Randomize; Writeln('Исходный массив'); //max := -777; {заведомо меньше меньшего} for i := 1 to n do begin for j := 1 to n do begin b[i, j] := Random(101) - 50; Write(b[i, j]:4) end; Writeln end;
s1 := 0; s2 := 0; for i := 1 to n do begin s1 := s1 + b[1, j]; s2 := s2 + b[j, j] end; if s1 > s2 then begin Writeln('Сформированный массив'); for i := 1 to n do begin max := b[i, 1]; for j := 2 to n do if max < b[i, j] then max := b[i, j]; a[i] := max; Write(max:4) end end else begin s1 := 0; s2 := 0; for i := 1 to n do for j := 1 to n do if b[i, j] > 0 then s1 := s1 + b[i, j] else s2 := s2 + b[i, j]; Writeln('Среднее арифметическое положительных элементов= ', s1/n); Writeln('Среднее арифметическое отрицательных элементов= ', s2/n); end end.
procedure InitMas(p: integer); var i: integer; begin Writeln('Элементы массива'); for i := 1 to p do begin x[i] := Random(101) - 50; Write(x[i]:4); end; Writeln end;
function avg(m: integer): real; var i, s: integer; begin s := 0; for i := 1 to m do s := s + x[i]; avg := s / m end;
begin Randomize; InitMas(10); Writeln('Среднее арифметическое равно ', avg(10)) end.
Тестовое решение: Элементы массива 44 -40 -1 9 48 -12 48 -39 -13 32 Среднее арифметическое равно 7.6
// Внимание! Если программа не работает, обновите версию!
function IsPrime(n:integer):boolean;
begin
if n<4 then Result:=True
else begin
var found:=(n mod 2=0);
var p:=3;
while (not found) and (sqr(p)<=n) do
begin found:=(n mod p=0); p+=2 end;
Result:=not found
end
end;
begin
Writeln('S=',ReadSeqInteger('Вводите:',ReadInteger('n='))
.Where(m->IsPrime(m) and (m>0)).Sum)
end.
Пример
n= 6
Вводите: 20 17 31 15 19 7 9
S=74