Задача на Паскале

Задача: Даны натуральные число n целое число a1...an. Рассмотреть отрезки последовательности a1.. an состоящих из простых чисел. Получить наибольшую из длин рассматриваемых отрезков

Примеры: вводим например 4 числа в последовательность 1 2 3 4 максимальная длина 2 т.к только только два числа являются простыми.

Function prost(k:integer):boolean;
begin
    if k<>1 then
    begin
        i:=2;
        while i<k do
            if (k div i)<>0 then
                prost:=false
            else
                prost:=true;
    end;
end;

begin
    kol:=0;
    kol1:=0;

    for j:=1 to n do
    begin
        if prost(a[j]) <> false then
            kol:=kol+1 
        else
        begin
            if kol1<kol then
                kol1:=kol;
            kol:=0;
        end;
    end;

    if (kol1=0)or(kol1=1) then
        writeln('здесь нет последовательно стоящих простых чисел!')
    else
        writeln('максимальная последовательность состоит из:', kol1,'  чисел!')
end.

Ответы (1 шт):

Автор решения: MBo
Function prost(k:integer):boolean;
var
   i: Integer;
begin
    prost := k > 1;
    for i := 2 to Round(Sqrt(k)) do
       if k mod i = 0 then begin
           prost :=false;
           break;  
       end;
end;

Кроме того,

if prost(a[j]) <> false then

лучше выглядит так:

if prost(a[j])  then
→ Ссылка