[リストへもどる] [返信 ]  [新着記事] [最新50] [ワード検索] [過去ログ]

記事閲覧・返信

タイトル Re: 素数表示、カウント SOSU5.EXE 更新
投稿日: 2024/02/29(木) 18:45
投稿者konno
 番 号 11123    11120 番 konno さんへのコメント

SOSU5 の速度アップとバグ取りですが、他の素数計算プログラムを参考にしました。
旧版は、一桁の素数を決め打ちでやっていました。

for i!=2 to 10
if i!=2 then gosub print1:co!=co!+1:co1%(co!)=i!
if i!=3 then gosub print1:co!=co!+1:co1%(co!)=i!
if i!=5 then gosub print1:co!=co!+1:co1%(co!)=i!
if i!=7 then gosub print1:co!=co!+1:co1%(co!)=i!
next i!

これを全部コメントにして、2だけ決め打ちにしました。
さらに、偶数チェックを FOR STEP 2 で出来ることがわかり、以下のように

i!=2:gosub print1 :co!=co!+1:co1%(co!)=i! '★ 2は素数に決め打ち
a!=0
for i!=3 to no!-1 step 2 '★ 偶数をスキップ
loop1:
' no1$=str$(i!) '★ FOR steo 2 の
' le=len(no1$) '★スキップにより
' a!=val(right$(no1$,1)) '★この4行が
' b!=int (a!/2):if b!=a!/2 then i!=i!+1:goto loop1 '★要らなくなった
gosub loop2 '
next i!

これで少し速度アップ出来たようです。

SOSU4.EXE
Number = 50000 0: 0'34 Prime Number = 5133
SOSU5.EXE
Number.50000 0: 0'32 Prime Number = 5133

うーん、誤差範囲かな。(^^;
あとは配列の見直しで、10万までだったのを30万まで拡大出来ました。
速度的にも

Number.300000 0:12'20 Prime Number = 25997

12分もかかるので、この方式はこの辺が限界ですね。(^^;
さて、次はもっと速い別のアルゴリズムにしましょう。

   - No.11123 一括表示へ   -   コメント元:11120 一括表示へ  - pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11097.素数を表示、カウントするテスト - konno konno 24/02/20-23:45
 ┣11115.Re: 素数を表示、カウントするテスト - としき 24/02/26-13:22
 ┃┗11117.Re^2: 素数を表示、カウントするテスト - konno 24/02/26-22:12
 ┃ ┗11119.Re^3: 素数を表示、カウントするテスト - としき 24/02/27-23:55
 ┃  ┗11121.Re^4: 素数を表示、カウントするテスト - konno 24/02/28-01:23
 ┃   ┗11122.Re^5: 素数を表示、カウントするテスト - としき 24/02/28-17:45
 ┣11120.素数表示、カウント SOSU5.EXE 更新 - konno 24/02/28-00:47
 ┃┣11123.Re: 素数表示、カウント SOSU5.EXE 更新 - konno 24/02/29-18:45
 ┃┗11126.Re: 素数表示、カウント SOSU5.EXE 更新 - としき 24/03/01-01:28
 ┃ ┗11127.Re^2: 素数表示、カウント SOSU5.EXE 更新 - konno 24/03/01-23:46
 ┗11128.SOSU6 素数を表示、カウントするテスト6 - konno 24/03/02-00:03
  ┣11129.Re: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/03-16:48
  ┗11131.Re: SOSU6 素数を表示、カウントするテスト6 - としき 24/03/04-23:23
   ┗11133.Re^2: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/05-00:03
    ┗11138.Re^3: SOSU6 素数を表示、カウントするテスト6 - としき 24/03/05-14:12
     ┗11141.Re^4: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/05-16:55
      ┗11143.Re^5: SOSU6 素数を表示、カウントするテスト6 - としき 24/03/05-17:58
       ┗11145.Re^6: SOSU6 素数を表示、カウントするテスト6 - konno 24/03/05-23:15

- - 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)[引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft prenw(図表 ※折り返しません)
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]