記事閲覧・返信 |
---|
タイトル | : Re^9: N88-BASICで素数を表示カウントする PRIME88.BAS |
投稿日 | : 2024/03/31(日) 16:08 |
投稿者 | : としき |
参照先 | : http://toshiki.la.coocan.jp/ | 番 号 | : 11183 11172 番 としき さんへのコメント コメント数 1 |
実家での検証、最後。> ここ、多くの処理系では割り算よりも掛け算のほうが速いと聞いたことがあるので、> 割り算を2回するのではなく掛け算と割り算の組み合わせに変更してみました。> これでどのくらい早くなるかは測定していないからわからない。
メインのループを
350 FOR I=3 TO N 360 IF INT(I/2)*2 = I THEN *EXIT2 370 J=3:I2=I/J:I3=INT(I/J) 380 WHILE J<SQR(I) AND I2<>I3 390 J=J+2:I2=I/J:I3=INT(I/J) 400 WEND 410 IF J>SQR(I) THEN GOSUB *PRINT1 420 *EXIT2 430 NEXT I
こうやって、割り算2回で20000までの素数を求めたら21秒で2262個。
元のままの、割り算と掛け算だと17秒、2262個。
うん、やっぱりうちでは、誤差というには差が大きいくらい、掛け算のほうが早い
模様。
以上、レス元が分散して申し訳ありませんが、実家での検証3連発でした。
- No.11183 一括表示へ - コメント元:11172 一括表示へ - pre