Function IsPrime(n: integer): boolean; // Проверка, является ли число простым var p: integer; found: boolean; begin found := (n mod 2 = 0); p := 3; while (not found) and (sqr(p) <= n) do begin found := (n mod p = 0); p := p + 2 end; IsPrime := (not found) or (p = 2) end;
const n = 20;
var i, k: integer; a: array[1..n] of integer;
begin Write('Введите 20 целых чисел через пробел: '); for i := 1 to n do begin Read(a[i]); end; k := 0; for i := 1 to n do if IsPrime(a[i]) then k := k + 1; Writeln('Количество простых чисел- ', k) end.
Тестовое решение:
Введите 20 целых чисел через пробел: 5 36 83 1673 339 73 34 14623 7 173 62 45 3463 326 28 934 345 24 4526 1143 Количество простых чисел- 6
дешифровки: Const sh = '_.,'; Var St : String; i : Integer; Function DeCode(S : String; Tabl : String; k : Integer) : String; Var j,n : Integer; Begin For j:=1 to Length(S) do Begin n:=Pos(S[j],sh); If n>0 then Begin n:=n+k; While n>Length(sh) do n:=n-Length(sh); While n<=0 do n:=n+Length(sh); S[j]:=sh[n]; end end; DeCode:=S; end; Begin St:='ЗЫФЙГФШРЦ . ШД'; Writeln(Decode(St,sh,-6)); //For i:=-10 to 10 do Writeln(Decode(St,sh,i)); end.
// Проверка, является ли число простым
var
p: integer;
found: boolean;
begin
found := (n mod 2 = 0);
p := 3;
while (not found) and (sqr(p) <= n) do
begin
found := (n mod p = 0);
p := p + 2
end;
IsPrime := (not found) or (p = 2)
end;
const
n = 20;
var
i, k: integer;
a: array[1..n] of integer;
begin
Write('Введите 20 целых чисел через пробел: ');
for i := 1 to n do
begin
Read(a[i]);
end;
k := 0;
for i := 1 to n do
if IsPrime(a[i]) then k := k + 1;
Writeln('Количество простых чисел- ', k)
end.
Тестовое решение:
Введите 20 целых чисел через пробел: 5 36 83 1673 339 73 34 14623 7 173 62 45 3463 326 28 934 345 24 4526 1143
Количество простых чисел- 6
дешифровки:
Const sh = '_.,';
Var
St : String;
i : Integer;
Function DeCode(S : String; Tabl : String; k : Integer) : String;
Var j,n : Integer;
Begin
For j:=1 to Length(S) do
Begin
n:=Pos(S[j],sh);
If n>0 then
Begin
n:=n+k;
While n>Length(sh) do n:=n-Length(sh);
While n<=0 do n:=n+Length(sh);
S[j]:=sh[n];
end
end;
DeCode:=S;
end;
Begin
St:='ЗЫФЙГФШРЦ . ШД';
Writeln(Decode(St,sh,-6));
//For i:=-10 to 10 do Writeln(Decode(St,sh,i));
end.