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
function SqrDist(p, q: integer): real; { Возвращает квадрат расстояния между точками } begin SqrDist := sqr(x[q] - x[p]) + sqr(y[q] - y[p]) end;
begin Write('Введите количество точек -> '); Readln(n); Writeln('Вводите координаты каждой точки (x,y) через пробел'); for i := 1 to n do begin Write('точка ', i, ': '); Readln(x[i], y[i]); end; dmin := 1e10; { значение, заведомо большее реально возможного } for i := 1 to n do for j := i + 1 to n do begin d := SqrDist(i, j); if dmin > d then dmin := d end; Writeln('Минимальное расстояние между точками равно ', sqrt(dmin):0:4) end.
Тестовое решение:
Введите количество точек -> 5 Вводите координаты каждой точки (x,y) через пробел точка 1: 3.4 7.2 точка 2: -3 8.6 точка 3: -4.5 -5.1 точка 4: 6 -2 точка 5: 0 9 Минимальное расстояние между точками равно 3.0265
// Проверка, является ли число простым
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
nm = 50;{максимальная длина массива}
type
Mas = array[1..nm] of real;
var
i, j, n: integer;
x, y: Mas;
d, dmin: real;
function SqrDist(p, q: integer): real;
{ Возвращает квадрат расстояния между точками }
begin
SqrDist := sqr(x[q] - x[p]) + sqr(y[q] - y[p])
end;
begin
Write('Введите количество точек -> ');
Readln(n);
Writeln('Вводите координаты каждой точки (x,y) через пробел');
for i := 1 to n do
begin
Write('точка ', i, ': ');
Readln(x[i], y[i]);
end;
dmin := 1e10; { значение, заведомо большее реально возможного }
for i := 1 to n do
for j := i + 1 to n do
begin
d := SqrDist(i, j);
if dmin > d then dmin := d
end;
Writeln('Минимальное расстояние между точками равно ', sqrt(dmin):0:4)
end.
Тестовое решение:
Введите количество точек -> 5
Вводите координаты каждой точки (x,y) через пробел
точка 1: 3.4 7.2
точка 2: -3 8.6
точка 3: -4.5 -5.1
точка 4: 6 -2
точка 5: 0 9
Минимальное расстояние между точками равно 3.0265