ユーザ用ツール

サイト用ツール


エラトステネスの篩

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
エラトステネスの篩 [2022/01/06 11:50] – [プログラム] arakiエラトステネスの篩 [2022/01/06 18:31] (現在) – [プログラム] araki
行 36: 行 36:
 <code> <code>
 100 'LIST PRIME NUMBERS 100 'LIST PRIME NUMBERS
-110 CLS:CLT:[0]=3:N=1:T=3+110 CLS:CLT:[0]=3:N=1:T=3:Z=0:C=0
 120 I=0 120 I=0
-130 IF I<102 W=[I] ELSE GOTO 220+130 C=C+(Z>TICK()):Z=TICK():IF I<102 W=[I] ELSE GOTO 220
 140   IF W*W>T GOTO 170 140   IF W*W>T GOTO 170
 150   IF T%W=0 GOTO 200 150   IF T%W=0 GOTO 200
行 47: 行 47:
 200 T=T+2 200 T=T+2
 210 IF T>0 GOTO 120 210 IF T>0 GOTO 120
-220 LC 0,1:? TICK()/60;" Sec"+220 C=C+(Z>TICK()):Z=TICK():LC 0,1:? C*546+Z/60;" Sec"
 230 END 230 END
 </code> </code>
行 64: 行 64:
 可読性の観点からは決して好ましくないのではあるが。 可読性の観点からは決して好ましくないのではあるが。
  
-因みに、最大の素数は3512番目の32749になる。+因みに、最大の素数は3512番目の32749で、この次の素数は32771になる。 
 +なお、最後まで実行した場合、LPC1114ベースのIchigoJamではTICK()が溢れてしまうためCを使って溢れるたびに加算を行い、最後に546をかけて((32768/60=546.1333...))秒数に変換している。なお実行には968秒かかっている。 
 +RISC VベースのIchigoJamで202秒かかった。 
 +従って、RISC Vベースの方が約4.8倍速かった
  
 [[IchigoJam]]へ戻る [[IchigoJam]]へ戻る
  
エラトステネスの篩.1641437422.txt.gz · 最終更新: 2022/01/06 11:50 by araki