篩法

 投稿者:しばっち  投稿日:2021年11月 3日(水)18時01分10秒
  篩法
ネットからの移植版です
https://37zigen.com/linear-sieve/

LET N=105000
DIM PRIME(N),LDF(N)
FOR D=2 TO N
   IF LDF(D)=0 THEN
      LET LDF(D)=D
      LET K=K+1
      LET PRIME(K)=D
      IF MOD(K,1000)=0 THEN PRINT K;"th prime ";D
   END IF
   FOR I=1 TO K
      LET P=PRIME(I)
      IF P*D>N OR P>LDF(D) THEN EXIT FOR
      LET LDF(P*D)=P
   NEXT  I
NEXT D
END
 

戻る