[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/12 10:04 / Filesize : 181 KB / Number-of Response : 791
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【モリタポ有償】C/C++の問題を片付けます(2)



1 名前: ◆QZaw55cn4c mailto:sage [2011/01/17(月) 23:17:42 ]
あなたが解けないC言語/C++言語の問題を ◆QZaw55cn4c が有償で片付けるスレッドです。

・モリタポ(moritapo.jp/)により決済を行います。
・投稿にあたっては、トリップを使ってください。トリップがなければ決済の確認ができません。
 ◆QZaw55cn4c は、トリップ以外の質問者の情報を知ることができませんので安心です。

【回答掲示までの流れ】
1. 質問者がトリップを使って問題を投稿する。
2. ◆QZaw55cn4c が回答できる問題があれば、◆QZaw55cn4c が受諾レスを行う。
 受諾レスには決済日を基点とした回答猶予期間が示される。
3. 質問者が ◆QZaw55cn4c にモリタポを進呈する。
 進呈の際には、問題を投稿したときに表示されたトリップ(パスワードではない)をメッセージに記入する。
4. モリタポの進呈を確認したら、◆QZaw55cn4c は回答を掲示する。(codepad.org/, ideone.com を使用します。)

【料金】
・一問あたり 500円(5000モリタポ・手数料込み)です。
・一つのレスに記述できる内容を一問とします。アップローダーを使用してもかまいません。
・◆QZaw55cn4c が受諾レスを行い、受諾レスに回答期日を示したにも関わらず、回答期日に間に合わなかった場合には、モリタポを返還します。
それ以外の場合にはモリタポの返還はいたしません。

【修正】
・◆QZaw55cn4c が一度示した回答に対しては、明白な錯誤があった場合を除いては、◆QZaw55cn4c は修正は基本的に行いません。

ただし、最大限ご希望に応じたいと考えていますので、修正希望があれば、トリップを使用して投稿してください。
修正希望回数は、最大3回を目安としてください。3回を超えて修正を希望する場合は、新規に質問を投稿しなおしてください。
いずれも場合も、修正に応じることを保障するものではありません。

704 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 13:47:52.43 ]
コンビニでも何でもいいから働けよ◆QZaw55cn4c
ハッキリ言ってやるけど、おまえの知能じゃ職業プログラマーなんて無理だっての…
いいかげん気づけ? プログラムは趣味にしとけば?

705 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 15:50:52.00 ]
>>704
それが無理だから中年ニートを続けてるんじゃないかなあ?
自己愛性人格障害は「自分はこんな所で収まるタマじゃないぞ、すごいんだぞ」
という修正不能な異常に高いプライドを持っているので、コンピニで働く事は
まず考えられないですね

706 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 15:52:12.35 ]
知能の低い者に言われても説得力がないと思うが。

707 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 16:46:55.35 ]
◆QZaw55cn4cの知能が低くてPGに不向きなのは今まで投稿されたコードを見ても明らかなんだが

708 名前: ◆QZaw55cn4c mailto:sage [2011/05/08(日) 17:19:40.56 ]
コメントしておきます。

>>705
「修正不能な異常に高いプライドを持っている」という意識は全くありません。ただのアマチュアですし。
しかしあなたからは、そう見えるようですね。どんなところから、プライドが高いと感じたか教えていただけませんでしょうか。

>>707
>今まで投稿されたコードを見ても明らかなんだが
ほう、具体的に例をあげて説明いただけませんでしょうか。

709 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 17:23:22.63 ]
他人の指摘を素直に受け入れない点
自分が間違っててもとりあえず何か言い返す
もしかしたら、自分の間違いが理解できないくらいの低脳って可能性もあるが

710 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 17:41:50.08 ]
>>709
>他人の指摘を素直に受け入れない点
おかしいですね。間違いがあれば修正版を作成するなり、ごめんなさい宣言を出すなり、率直に反応しているつもりですが。
このスレ(前スレでもいいですが)で、そのような私のレスがあれば例示していただけないでしょうか。

>自分が間違っててもとりあえず何か言い返す
それは、自分の間違いに気づいていないか、あるいは間違いだとは認識していないのでしょうね。
いずれにしても説得力が足りないのでは?

>もしかしたら、自分の間違いが理解できないくらいの低脳って可能性もあるが
低能でなくとも自分の間違いには気づきにくいものです、あなたのように。

711 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 17:46:28.31 ]
まさに言ったとおりのレスw

712 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 17:49:17.29 ]
>>599以降のやりとりを見れば、説得力が足りないんじゃなくて ◆QZaw55cn4cの頭が悪すぎるのは一目瞭然



713 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 17:52:49.62 ]
>>708
>しかしあなたからは、そう見えるようですね。どんなところから、プライドが高いと感じたか教えていただけませんでしょうか。

お断りします。どうせ言ったって馬耳東風か、屁理屈で返すんでしょ。
こちらも不愉快な想いはしたくないもんでね。自分で考えろカス。

>ほう、具体的に例をあげて説明いただけませんでしょうか。

えっマジで言ってんのそれ?あんたが書いたコードより遙かに性能がいいコードを
他の人がいくつも投稿したのをまさか見てないと言い逃れしないよね?
いつまでも糞みたいな二分木にこだわって、頭が硬化してきているのは明らか。
やっぱPG35才定年説は正しい。

714 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 17:55:33.51 ]
前に指摘したら、そんな昔のことは覚えてないとか抜かしやがったからなw

715 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:04:59.09 ]
低能じゃあ◆QZaw55cn4cの馬鹿さ加減を表現し切れないと思って、あえて低脳って言葉にしたんだがw
◆QZaw55cn4cは揚げ足とれたとか思って大喜びみたいだけど

716 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:07:22.24 ]
>>713
>えっマジで言ってんのそれ?あんたが書いたコードより遙かに性能がいいコードを
>他の人がいくつも投稿したのをまさか見てないと言い逃れしないよね?

あのう、私は自分のコードが最善だとも最高だともいっておらず、
ただ「参考になる」としか述べていません。
それどころか、考え方のちがう別実装に喜んでいたりしていたのですが。(あとベンチを取ってくれる人もおられました。)
hibari.2ch.net/test/read.cgi/tech/1301553333/611

>いつまでも糞みたいな二分木にこだわって、頭が硬化してきているのは明らか。
こだわっているのではなくて、自分のコードに重大な欠点
hibari.2ch.net/test/read.cgi/tech/1301553333/612
があることを認識したので、自分が書いた以上、とりあえずの修正を行ったまでのことです。
ニ分木にこだわっていたわけではありませんよ。

717 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:14:21.59 ]
>>712
たしかにこれは私の認識に問題があった例ですね。固いといわれても仕方がない。
しかし、問題の部分が理解できなくとも、その部分の全体に対する影響度を調べた (>>592) 上で
判断しましたから、これ以上は求めてもしかたがないでしょう。

718 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:18:53.14 ]
頭が悪いを、固いに摩り替えるなよw

これ以上求めても仕方ないってどういう意味?
お前にコードの内容を理解するのを求めるのはムダってこと?

719 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:26:02.57 ]
>>716
ほらね

>あのう、私は自分のコードが最善だとも最高だともいっておらず、

誰もあんたのコードを性能がいいとかセンスがあるとか言ってないでしょ
あんたのコードより遙かに短くて遙かに性能がいいコードを他の人が
書いてるよって指摘したのに屁理屈で返すその癖は一生治らないだろうね
人に嫌われて終わり

720 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:29:40.22 ]
頭が悪くて理解できないのに、自分が理解できないのは相手の説得力がないからだとか平気で言えちゃうんだなw

721 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:40:15.47 ]
>>719
確かに話のラインがずれていましたね。
私のコードがとりたててどういうことはない、ということを双方が認識しているのならば、それ以上はいうことはないですね。



722 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:40:37.31 ]
>>720
まさにそれが自己愛性人格障害の特徴だよ

homepage1.nifty.com/eggs/narcis.html

・御都合主義的な白昼夢に耽る。
・自分のことにしか関心がない。
・高慢で横柄な態度。
・特別な人間であると思っている。
・自分は特別な人間にしか理解されないと思っている。
・冷淡で、他人を利用しようとする。
・批判に対して過剰に反応する。
・虚栄心から、嘘をつきやすい。
・有名人の追っかけ。
・宗教の熱烈な信者。

宗教はどうか知らないが、他は全部◆QZaw55cn4cによく当てはまっている
もし◆QZaw55cn4cが妙な新興宗教にはまっていたら確定だな



723 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:44:27.91 ]
>>718
頭の悪い私が、頭の悪い私にとって都合の悪い場面に遭遇したときに、それでも公平さを失わずに対応したつもりです。
頭が悪いなりに >>592 で適切な判断を行えただけで十分で、それ以上のことは、頭の悪い私に求めても、まあむりでしょう。

くらいの意味です。
バスジャックを敢行したりしませんでした、あたりまえですが。

724 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:45:00.16 ]
◆QZaw55cn4cが>>518を解いたコードは本当にゴミクズだろw

725 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:46:00.48 ]
>>592が適切な判断とか、本気で言ってんの?

726 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:47:13.69 ]
>>720
私の頭が悪いのは、私の意志でそうしたわけではない、という理屈が思い浮かびました。

まあちょっといいすぎでしたね。撤回します。

727 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:47:20.54 ]
自分にとことん甘い人間が公平さとか、一体何の冗談なんだろう

728 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:48:36.31 ]
>>725
ええ。素直に負けを認めた点だけが。

729 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:49:32.38 ]
>>592

>ベルトランの仮説(チェビシェフにより証明)

あたりは>>722

>・有名人の追っかけ。

に相当するな

つまり自分の力がないものだから虎の威を借る狐というわけだ

730 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:50:01.23 ]
>>724
エラトステネスのふるいを使わなければ、ゴミといわれても仕方ないですね。大失敗です。

731 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:50:52.80 ]
ああ、コードを全く理解せずに的外れなことをほざいて説明を要求したことは反省してないのか

732 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:51:04.25 ]
>>723
>バスジャックを敢行したりしませんでした、あたりまえですが。

◆QZaw55cn4cがバスジャックを敢行したらある意味祝福に値するな
自分の殻を破れるんだから
それまでは井の中の蛙だ



733 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:51:33.18 ]
>>729
そういわれてもしかたないですね。n から 2n までの間に素数が一個ある、という事実を知っていたのが仇でした。

734 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:52:00.62 ]
>>730
やっぱり篩の速度に負けただけとか思ってんだなw
本当にクソなのはその後の部分だから

735 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:52:37.87 ]
>>731
あれ?コードはおおかたは理解していましたよ。的外れのことをいっていたとは、どのレスですか?

736 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:52:57.25 ]
>>733
ほらまた一言多い
こいつは本当に性格が悪いな

737 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:53:23.25 ]
>>733
まるで他の人はそれを知らないみたいな言い草だなw
知ってても普通の人はそれが関係ないなら影響されたりしないってだけなのに

738 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:54:19.85 ]
◆QZaw55cn4cが刑事事件を起こしたら多分弁護士を付けずに
自分一人で被告人台に立って屁理屈をこね回したあげく裁判官の
心証を極めて悪くして求刑以上の判決が下りそうw

739 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:54:19.94 ]
>>734
うん、それは知りたいですね。よろしければ、ぜひ教えてください。

>>592 で負けを認めていますので遺恨はまったくありませんから、ここでパアッとさらすのもいいと思います。

740 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:55:18.14 ]
>>736
なるほど、それが悪いというわけですね。ご指摘ありがとうございます。

741 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:56:46.98 ]
他人のコードと比較して、自分のコードのクソさが理解できないってどうしようもないよな

742 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 18:58:54.87 ]
>>737
そうですね。影響されてしまいました。
でも、その影響がどれくらいのものかは実測したつもりです。



743 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:00:46.20 ]
>>741
まあ、そういわずに教えてくださいな。>>559 がクソだとは思っておりますから。

744 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:03:33.32 ]
>>738
それはないと思いますよ。その道の専門家にお金を出すのがベストだと思っています。

745 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:06:04.57 ]
>>591>>672を見ても理解できないなら、何言っても無駄

746 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:07:00.30 ]
>>742
実測?自分の頭の悪さを実測したの?

747 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:14:24.81 ]
>>746
ええ。実測しながら自分の頭の悪さをつくづく思い知らされました。

748 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:17:03.87 ]
>>745
それはエラトステネスのふるいにのっとった形でのベスト形であって、>>559 の考え方にそってやったとしても
もっといい方法がある、ということは示していませんよね。

>>734
>やっぱり篩の速度に負けただけとか思ってんだなw
>本当にクソなのはその後の部分だから
というのなら、>>559 の枠組みの中でも、まだよりよい方法があるということですよね。

749 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:18:17.55 ]
素数の配列だけでやっても591や672のほうが圧倒的に上

750 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 19:24:29.88 ]
>>748
つーか、あんなアホみたいなやり方が素数の配列でのベストとか思ってたのか?
何回ムダに数えりゃ満足すんだよw

751 名前:デフォルトの名無しさん mailto:sage [2011/05/08(日) 22:08:20.48 ]
なんで◆QZaw55cn4cは◆QZaw55cn4cを外してるわけ?
まぁ発言で丸分かりだから関係ないけど

752 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 02:55:18.58 ]
>>749, >>750
なるほど、確かにまだいい方法がありました。一度作った素数表を潰す発想はありませんでした。
お付き合いいただきありがとうございました。

>>518
>>549 の改良です。
codepad.org/oFrCBfDe

速度はそんなには速くなっていないようです。大きな配列をコピーする分だけ負担が大きいのかもしれません。
codepad.org/nWgFTVxE




753 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 03:04:58.23 ]
うん、まったくコードが理解できてないってことはわかった

754 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 03:59:16.94 ]
◆QZaw55cn4cは糞だよなぁ

755 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 06:35:23.83 ]
>static int sumS[TABSIZE];
頭悪すぎて吹いたw

756 名前: ◆XEE2zLj0dE mailto:sage [2011/05/09(月) 06:58:59.04 ]
>>752
単にコードを貼ってもいいんだけど、意図も書いといてみる。

>>752の枠組みで改善していくとして。
こちらの環境で20回ループさせた時の速度内訳はこんな感じ。
 トータル 1.95sec
 素数テーブル作成(maketable) 1.37sec
 その後の処理 0.58sec
仕事であれば、maketableの改善を最優先するのが当然だけど、
スレの流れ的に不適当だと思い、その後の処理を対象にした。

ネックとなっている部分が、枝刈りの不十分さとfoundpにあると思われ、かつ
(sumS[j] % 2)によってfoundpの呼び出し回数を減らす工夫が見られたため、
そちらを改善することにした。

// 元コード
if ((sumS[j] % 2) && foundp(sumS[j], n)) {
if (k > max_k) {
max_i = i; max_j = j; max_k = k; max_s = sumS[j];
}
}
// fix 最大値を更新できるときだけ探せば良いので条件変更
if (k > max_k && (sumS[j] % 2) && foundp(sumS[j], n)) {
max_i = i; max_j = j; max_k = k; max_s = sumS[j];
}

単純ではあるけれど、変更後の速度(変更部のみ)
 その後の処理 0.10sec

さらに改善を行おうとするならもうちょっとすすめれば0.07secぐらいにはなったが、今回はここまで。

757 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 11:46:43.76 ]
◆QZaw55cn4cは糞だよなぁ

758 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 12:28:49.58 ]
>>756
そんなとこより根本的な問題は、起点の素数から小さいほうを足していくっていう頭の悪すぎるやり方だろ

759 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 14:15:36.51 ]
こいつにプログラムを組ませたら、動くには動くが、コンピュータの性能を殺した
もっさり動作の無駄の多いプログラムばかり組む

宿題スレではそれでもいいかもしれないが、PGとしては致命的

760 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 14:17:37.85 ]
無駄を省くとか、シンプルに書くとかいう思考ができないからな

761 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 14:23:44.12 ]
QZaw55cn4cさん?のコードを多分1万倍くらい加速しました。
codepad.org/cf8UYWVy

762 名前: ◆XEE2zLj0dE mailto:sage [2011/05/09(月) 14:55:07.20 ]
>>758
sumS使ってるやつだとそれしにくいんだけど、上のほうのなら適用できるかも。
それはQZに任せるとして、>>672のもそれいえると思う。
でも、配列を逆アクセスすることになるから逆に遅くなったりはしないかな。
かといって素数リストを降順にしたものを作るのもイマイチ?
各種検証できたらいいなぁと思う。



763 名前:761 mailto:sage [2011/05/09(月) 15:10:04.08 ]
761
こちらのちょっとしたミスでデータが間違ってました。
修正したのを明日にでもあげるかもしれません

764 名前:デフォルトの名無しさん mailto:sage [2011/05/09(月) 15:13:59.38 ]
>>672をちょっと改良

#include <stdio.h>
#include <stdlib.h>
#define N 1000000
int main(void)
{
char sieve[N] = {0, 0, 1};
int i, j, k, head, tail, Ans, length, sum, tail_indx, sum_t;
int *prime, prime_cnt, prime_max;
for(i = 3; i < N; i += 2) sieve[i] = 1;
for(i = 3; i * i < N; i += 2) if(sieve[i]) for(j = i * i, k = i * 2; j < N; j += k) sieve[j] = 0;
for(i = prime_cnt = 0; i < N; i++) if(sieve[i]) prime_cnt++;
prime = malloc(prime_cnt * sizeof(int));
for(i = j = 0; i < N; i++) if(sieve[i]) prime[j++] = i;
prime_max = prime[prime_cnt - 1];
for(i = 1, sum = 2; (sum += prime[i]) <= prime_max; i++);
while(sieve[sum -= prime[i--]] == 0);
Ans = sum, head = 2, tail = prime[i], tail_indx = i, length = i + 1;
for(i = 1; (sum += (prime[++tail_indx] - prime[i - 1])) <= prime_max; i++) {
for(j = 1, sum_t = sum; (sum_t += prime[tail_indx + j]) <= prime_max; j++);
while(j > 1) {
if(sieve[sum_t -= prime[tail_indx + j--]]) {
Ans = sum = sum_t, head = prime[i], tail = prime[tail_indx += j], length += j;
break;}}}
printf("%d : %d to %d, %d\n", Ans, head, tail, length);
free(prime);
return 0;}


765 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 00:37:30.62 ]
761のプログラムとか見てると何気にQZのコードって凄いんじゃないかと
(超並列実行対応)

766 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 00:47:37.25 ]
◆QZaw55cn4cは糞だよなぁ

767 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:06:55.02 ]
何気に…
static にしないメリットは、スタック上に毎回新しく領域が作られるから、
オブジェクトモジュールのコピーに耐えられる。

768 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:16:39.03 ]
>>758
これについて考察してみました。

>>549 を題材に、起点から大きい方向に足していくものと小さい方向に足していくものとを比べてみました。

なお、以下の改良を加えています。
>>549 の素数算出(素朴な方法)は割り算を一回にする(div_t div(int a, int b) を使う。)
>>549 の二分探索ルーチンは条件文を1つ削減
>>756 の枝刈りをとれる

起点は2から大きい方向に動き、起点からの走査方向は正
codepad.org/MnHdnoPP
起点は2から大きい方向に動き、起点からの走査方向は負(オリジナルの>>549 や、sumS[] を使った >>752に近い)
codepad.org/ERMVYiBP
こちらでプロファイラを使ってもみましたが、両者に差はほとんど認められませんでした。

また >>764 はふるいと素数配列の両方を適材適所に使用して効率を上げていますが、
これを素数配列のみでかきなおしたもの
codepad.org/V4rbxPdY

結局、素朴法がしょぼすぎ、エラトステネスのふるいの威力が強過ぎで、他での稼ぎはほとんど顕在化しませんでした。

769 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:23:29.51 ]
小さいほうから大きい方を足してくことで、余計な計算を省く工夫をつけられるのが最大の利点なのに、
それを無視すれば同じになるに決まってるだろw

770 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:31:16.06 ]
maketableはふつー
int maketable(int N)
{
int i, j, cnt = 0;

primeS[cnt++] = 2;

for(i = 3; i < N; i += 2) {
for(j = 0; i % (temp = primeS[j]); j++) {
if(temp * temp > i) {
primeS[cnt++] = i;
break;
}}

return cnt;
}
ってやって、奇数だけをチェックする
3を最初に入れる意味が全くない

771 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:33:59.89 ]
10000 + 1 と10000 + 0.01 を比べても意味のある差が出るわけないのになw

772 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:34:36.47 ]
>>769
一応、足しこんだ結果が最大素数を超えればそこで打ち切っており、>>756 の枝刈りも採用しています。
他になにか別の枝狩りはありましたでしょうか?



773 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:36:40.20 ]
>>771
それはそのとおりです。エラトステネスの威力の前に他の小技はかすんでしまいました。
しかし、>>756 は割りあいに有効でした。

774 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:38:46.27 ]
加算の回数、foundp()を呼び出した回数、ループ終了時のiの値等
ちょっと調べてみればどんだけ無駄に計算してるかわかるだろ

775 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:40:42.06 ]
>>770
偶数くらいは弾いてあげるべきでしたね。しょぼん

776 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 03:59:17.92 ]
>>772
結局>>592以降のやりとりを全く理解してないってことかよw

777 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:04:16.07 ]
>>774
確認しました。なるほど、これは大差がつきました。

起点から正方向に走査: foundp() 284
codepad.org/kz660xmc

起点から負方向に走査: foundp() 1112 (>>549 >>752)
codepad.org/BycFnPhS
(足し算の回数はほとんど変わりませんでした)

k の最大値を早期に確定させて、>>756 の枝刈りを最大限に活用するのがいいみたいですね。




778 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:09:35.39 ]
>>764だとでsieve[]で素数がどうか確認するのは27回だけどな

779 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:21:57.95 ]
>>776
そうそう、それもいれなくちゃいけませんでしたね。

起点から正方向に走査:加算:119730, foundp:284
codepad.org/iXyoV179

起点から負方向に走査:加算:728939, foundp:1112 (>>549 >>752)
codepad.org/Nfwn3RJp
しかもこれは、for(i = 0; ... ) での枝刈りがうまく適用できない。

大差ですね。いろいろとコメントいただきありがとうございました。

780 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:30:59.92 ]
自分の頭が本当に悪いことを理解して、2度とム板に書き込むなよ

781 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:32:26.93 ]
>>778
確認しました。>>764 のやりかたは、まだ表っ面しか理解できていないので、
この回数の少なさの理由はまだよくわかっていません。
codepad.org/p53UiBuC

782 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:34:39.05 ]
>>780
いやん。



783 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 04:39:15.43 ]
>>672>>764が理解できないってのは、小学生レベルの算数がまともに理解できないっていうのと同じ

784 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 10:15:11.79 ]
糞スレ

785 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 12:17:27.29 ]
◆QZaw55cn4cが書けば書くほどおのれの頭の悪さのボロがどんどん出てくる面白いスレ

786 名前:デフォルトの名無しさん mailto:sage [2011/05/10(火) 12:50:27.37 ]
◆QZaw55cn4cのフリ見て我がフリ直せのスレですね
反面教師としてぴったりです

787 名前:761 mailto:sage [2011/05/10(火) 13:15:06.31 ]
データのほうにミスがあった件を修正中です。
データ件数も32ビット整数の正上限に近い21億にまで
対応しています。
ただし現在PCネットのほう授業で使用中なので、効率が
あがりません。バックグラウンドで一台あたり2000万回
実行させるのは相当のテクニックが必要です。
マシンの1秒間のCPU使用率が自分の作業を除いて
2%以下のタイミングで実行するようにしており
なかなか効率があがりません。
ネットワークレジストリを利用してコマンドをやりとり
しています。正午に作業を開始して現在進捗率10%です。

788 名前:761 mailto:sage [2011/05/10(火) 17:36:38.17 ]
マシンメンテのタイミングになってしまいました。
この時間はIPCは禁止になります。
生憎レジューム機能がうまく機能しておらず
データの信頼性が疑わしいので、今日・明日の
うpは無理です。進捗率50%まで到達したのに
残念です。

789 名前:デフォルトの名無しさん mailto:sage [2011/05/11(水) 05:24:43.57 ]


790 名前:デフォルトの名無しさん mailto:sage [2011/05/12(木) 00:09:23.42 ]







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<181KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef