Delphi版的构造的素数序列方法

var
  primeAry: array of  Cardinal;
  i,j:Cardinal;
  index:Integer;
  IsPrime:Boolean;
  iNum : Cardinal;
begin
  index := 2;
  SetLength(primeAry,2);
  primeAry[0] := 2;
  primeAry[1] := 3;
  for i := 5 to iNum do
  begin  
    if i mod 2 = 0 then
       Continue;
     
    IsPrime := True;
    for j := 1 to i do
    begin
      if primeAry[j]*primeAry[j] > i then
        Break;
      if i mod primeAry[j] = 0 then
      begin
         IsPrime :=False;
         Break;
      end;
    end;
    if IsPrime then
    begin
      Inc(index);
      SetLength(primeAry,index);
      primeAry[index-1] := i;
    end;
  end
end;

你可能感兴趣的:(职场,Delphi,休闲,素数序列)