Re: Пpостые числа

From
Alex Kozhushko ()
To
Oleg Zhigalov
Date
2002-11-12T07:01:06Z
Area
RU.ALGORITHMS
From: "Alex Kozhushko" <alxrie@sibmail.ru>

Добрый день, Oleg!

"Oleg Zhigalov" <Oleg.Zhigalov@p11.f73.n5054.z2.fidonet.org> wrote in
message news:1037043559@p11.f73.n5054.z2.ftn...

OG> есть у всезнающего Алл алгоpитм для опpеделения числа на пpедмет пpостое
оно
OG> или нет, желательно на Паскале, сpочно.

Можно просто по определению:

function IsPrime(n: Integer): Boolean;
var
  i: Integer;
begin
  if i<=1 then
    IsPrime := false
  else
    for i:=2 to n div 2 do
      if n mod i=0 then
        begin
          IsPrime := false;
          exit
        end;
  IsPrime := true
end;

Если хочется побыстрее, можно проверять только 2 и нечетные делители, а
также бежать циклом только до sqrt(n).
Если хочется еще быстрее, причем неоднократно, можно строить таблицу
простых.

С уважением,
Алексей


--- ifmail v.2.15dev5
 * Origin: Demos online service (2:5020/400)