Напишите программу которая вводит натуральные числа A и B и выводит все простые числа в...

0 голосов
178 просмотров

Напишите программу которая вводит натуральные числа A и B и выводит все простые числа в диапазоне от A до B


Информатика (34 баллов) | 178 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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<br>      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.

(5.1k баллов)
0

Спасибо!))

0

спс