Определить, сколько в массиве имеется простых чисел - Pascal ABC
Формулировка задачи:
Решение задачи: «Определить, сколько в массиве имеется простых чисел»
const n=20;
var a:array[1..n] of integer;
i,j,k,p:byte;
begin
randomize;
writeln('Массив');
for i:=1 to n do
begin
a[i]:=1+random(99);
write(a[i]:3);
end;
writeln;
writeln('Простые числа');
k:=0;
for i:=1 to n do
if a[i]>2 then
begin
p:=0;
j:=2;
while(j*j<=a[i])and(p=0)do
if a[i] mod j=0 then p:=1
else inc(j);
if p=0 then
begin
write(a[i]:3);
inc(k);
end;
end;
writeln;
write('Их количество=',k)
end.
Объяснение кода листинга программы
В данном коде объявлен массив из 20 элементов целого типа. Затем в цикле от 1 до 20 заполняются случайные числа от 1 до 99. После этого выводится сообщение Простые числа, и инициализируется переменная k, которая будет считать количество простых чисел.
Далее, в вложенном цикле проверяется каждый элемент массива. Если элемент больше 2, то инициализируются вспомогательные переменные p и j, которые будут использоваться для поиска простых чисел. Если p равно 0, то это означает, что текущий элемент является простым числом, и его номер записывается в k, а затем увеличивается k на 1. Если p не равно 0, то значение j увеличивается на 1, и цикл повторяется до тех пор, пока j*j меньше текущего элемента и p равно 0.
В конце выводится количество найденных простых чисел.