C/C++の宿題片付けます 153代目at TECH
C/C++の宿題片付けます 153代目 - 暇つぶし2ch851:デフォルトの名無しさん
11/11/28 12:49:12.45
>>850
【モリタポ有償】C/C++の問題を片付けます(2)
URLリンク(hibari.2ch.net)

534 名前: ◆QZaw55cn4c [qzaw55cn4c@a.email.ne.jp] 投稿日:2011/04/25(月) 21:03:10.67
>>516
URLリンク(codepad.org)
スレリンク(tech板:439番) の指摘を受けて細かいところを変更しました。
>素数の調べ方がクソ
エラトステネスのふるいは必要なメモリ容量が半端でないので、「クソ」かもしれませんが、素朴な方法にしました。10万までなら、(私の環境では)十分な速度が出ています。
しかし、割り算を二回実行してしまうのはなんとかしたいと思いつつも改良できないでいます。
>ループにも無駄が多すぎ
ちょっとだけましになったと思います。

592 名前:581 ◆QZaw55cn4c [PhenomII x6 が放置状態‥‥] 投稿日:2011/04/27(水) 05:53:22.39
>>591
>for(i = 2, max_len = 0; i * max_len < N; i++) {
を説明していただけませんでしょうか。
ベルトランの仮説(チェビシェフにより証明)を利用していると思われるんですが、
i から 2i の間に素数があっても、2i から 3i の間に素数があるかどうかはわかりません。

もっともここを
for (i = 2, i < N; i++)
にしてみたところで、
URLリンク(codepad.org)
爆速なんですけれども。(それか、codepad を速度判定に用いるのは精度がよくないですね。)

それにしてもエラトステネスのふるいの威力は見損じていました。sierve[i] で素数判定できるのには太刀打ちできません。

削除申請を出しました。
スレリンク(saku板:337番)


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch