- 1 名前:one [2009/05/16(土) 10:06:50 ]
- プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
【Ruby1.9.1 は従来版とは異なる部分も多く、書籍や解説やライブラリのサポートがまだありません】 【自力で解決できない壁で悩むことのない最新安定版の Ruby1.8.7 での学習をお勧めします】 ※1.8.7 は 1.8 系と 1.9 系の橋渡しをするためのリリースで、1.9 系 の便利新機能の一部が利用可能です 関連スレやURLは>>2-5あたりを見てください。Ruby on Rails の質問は Webプログラミング板の Rails スレへ。 ■質問する人へ 質問する前に次の3つをすること。ここで回答を待つよりそのほうが早い。 ・モジュール名やエラーメッセージでググる ・マニュアルで引っかかったクラスの記述を探す www.ruby-lang.org/ja/man/ ・FAQを一応読む www.ruby-lang.org/ja/man/?cmd=view;name=Ruby+FAQ 質問には以下を書くこと。へたくそな質問は再提出を要求される。 ・詳しい内容(「動きません」「うまくできません」では回答しようがない) ・エラーメッセージ(自力で訳さずなるべくそのままで) ・実行環境(OS名、Rubyのバージョン(ruby -v でわかる)) ・最終的にやりたいこと(もっとよい方法がある場合が多いので) 回答してくれた人には「ありがとう」のひとことをいってあげて。 ■回答する人へ 相手は初心者、根気よく育てるつもりで。質問がへたくそなのも大目にみてあげる。 それができないならこないこと(だって初心者スレだもん)。 ・既出な質問やFAQは「XXXを読め」でいいので、叩かない&怖がらせない。 ・わけわかな質問にもエスパー発揮で。できれば質問の仕方を教えるぐらいで。 ・自信がない回答ならその旨表明すること。誤った回答は初心者じゃ見抜けない。
- 109 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 02:38:04 ]
- なんで書き込んだ直後に(1..10).to_aを思い出すかなorz
- 110 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 02:48:19 ]
- numbers=[]
while numbers.size<5 numbers|=[rand(10)] end こんな感じかな 乱数の出てきた順番がどうでもいいならSet使ったほうが良いと思うが
- 111 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 02:49:31 ]
- >>107
step.0 選ばれた数の総数 n = 0 step.1 1を選ぶ確率 5/10 step.2 2を選ぶ確率 (5-n)/9 step.3 3を選ぶ確率 (5-n)/8 ... nが5になるまでstepごとに0から1の一様乱数を発生させて確率以下ならその数を選択することを続ける
- 112 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 03:54:58 ]
- それと選ぶ総数が全体数の半分以上なら選ばない数の方を選択して
それを全体から除外するようにしたほうが特に全体数が多い場合は現実的な効率はいいと思う 起こりうる最悪ケースではどちらでも変わらないし全体数の半分程度を選ぶとかではあまり関係ないけど それから全体数が多いときは一様乱数の有効数字の桁数が問題になるかもしれないので 0から1の浮動小数でなく選択確率の分母以下の整数値をランダムに生成して分子と比較するとかの方がいいかも でもそれでよくなるかどうかは乱数の生成方法次第だしそもそも100万個くらいならこれは問題ないのかな?
|

|