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
1) var a: array[0..100] of integer; i, s, n: integer; begin writeln('Введите количество элементов в массиве: '); readln(n); for i := 1 to n do begin a[i] := random(10); write(a[i], ' '); s := s * a[i]; end; writeln; writeln(s); end.
2) var a: array[0..100] of integer; i, s, n: integer; begin writeln('Введите количество элементов в массиве: '); readln(n); for i := 1 to n do begin a[i] := random(10); write(a[i], ' '); end; for i := 1 to n do begin // if (i mod 2=0) then s:=s+a[i]; Раскоментируй, если сумму нужно искать среди четных номеров элементов. // if (a[i] mod 2=0) then s:=s+a[i]; Раскоментируй, если сумму нужно искать среди самих четных элементов. end; writeln; writeln(s); end.
3)var a: array[0..100] of integer; i, s, n, max: integer; begin writeln('Введите количество элементов в массиве: '); readln(n); for i := 1 to n do begin a[i] := random(10); write(a[i], ' '); end; s:=0; for i := 1 to n do begin if (a[i]>s) then s:=a[i]; end; writeln; writeln(s); end.
4)var a: array[0..100] of integer; i, s, n, max: integer; begin writeln('Введите количество элементов в массиве: '); readln(n); for i := 1 to n do begin a[i] := random(10); write(a[i], ' '); end; s:=0; for i := 1 to n do begin if (a[i]>s) and (a[i] mod 3=0) then s:=a[i]; end; writeln; writeln(s); 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