Напишите программу которая вводит натуральные числа A и B и выводит все простые числа в диапазоне от A до B
Напишите программу которая вводит натуральные числа A и B и выводит все простые числа в диапазоне от A до B
Ответ(ы) на вопрос:
Гость
function IsPrime(n: Longint): Boolean;
var i, sqrtn, delta: Word;
begin
if (n >= 5) and ((n - 1) mod 6 = 0) or ((n + 1) mod 6 = 0) then begin
i := 5;
delta := 2;
sqrtn := Trunc(sqrt(n));
IsPrime := False;
while i <= sqrtn do begin
if n mod i = 0 then Exit;
Inc(i, delta);
delta := delta xor 6; {смена шага, то 2, то 4}
end;
IsPrime := True;
end else
IsPrime := (n = 2) or (n = 3);
end;
Var A,B,i : Integer;
Begin
Readln(A,B);
For i:=A to B do If IsPrime(i) then Writeln(i);
end.
Не нашли ответ?
Похожие вопросы