profile
Опубликовано 5 лет назад по предмету Информатика от LaceLot

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

  1. Ответ
    Ответ дан APALoff
    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.
    1. Ответ
      Ответ дан LaceLot
      Спасибо!))
    2. Ответ
      Ответ дан niko424
      спс