Задача на Паскале
Задача: Даны натуральные число 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