Проверить, является ли заданное натуральное число n > 1 простым — Pascal(Паскаль)

function prostoe(n : integer) : bool;
var b : bool;
    i : integer;
begin
	b := true;
	for i:=n-1 downto 2 do
		if n mod i = 0 then begin
			b := false;
			break;
		end;
	result := b;
end;
...
...
if prostoe(13) then write('число простое')
else write('нифига не простое');

Вариант 2

var a, b, kol, i : longint;
function prost(a : longint) : boolean;
var i, k : int64;
fl : boolean;
begin
fl := true;
if a = 1 then fl := false;
if a = 2 then fl := true
else begin
if a mod 2 = 0 then fl := false;
i :=3;
while (i <= sqrt(a)) and fl do
if a mod i =0 then fl :=false
else inc(i, 2);
end;
prost :=fl;
end;
begin
readln(a);
if prost(a) = true then writeln('×èñëî ïðîñòîå')
else writeln('×èñëî íå ïðîñòîå');
end.

Вариант 3

Var 
  n:integer;
function prime(n:integer):boolean;
  i:integer;
  begin
  prime:=true;
  for i:=2 to trunc(sqrt(n)) do begin
      if n mod i = 0 then begin Prime:=false;break;end;
  end;

  Begin 
  readln(n);
  If prime(n)=true then writeln('Prostoe')
     else writeln('Ne prostoe');
  end;

Leave a Comment

2 + 4 =