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