// 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.
// Внимание! Если программа не работает, обновите версию!
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
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.