以下の投稿。
http://dixq.net/forum/viewtopic.php?f=3&t=16255
何気なく答えたら、ほかの回答者がわらわらと・・・
(^^;
単純な問題なだけに、いろんなサンプルコードが書けるのは
質問者にとっていいのか悪いのか 笑
質問者さ~ん?
【追記1】
質問者さんの返事がきましたね
解決されました。
結構複雑・・・そりゃ複雑にいくらでもできるからな
とか思ったり
へにっくすの掲示板日記
乱数の個数を限定する
乱数の個数を限定する
最後に編集したユーザー へにっくす on 2015年1月20日(火) 04:42 [ 編集 1 回目 ]
Re: 乱数の個数を限定する
正直,へにっくすさんの最初の1行だけで十分だと思う.
(私が見たときには,配列用意してソートする方法しか書かれてなかったから
「実際には, 0が1万個で 1が8700個 くらいなんですが…」とかいう話だと困りそう(?)なので別方向のを書いてみたのですが,多分余計.)
どうやるのかという方法論みたいなのを示せば十分な段階(だと思うんだけど)で
シャッフルだの乱数取得に何を使うべきなのかとかいう話を持ち出すのはちと性急すぎると思うのですが,どうなんでしょうね.
(まぁ情報が無いよりはあった方がいいのかもですが,ちょっと怒涛すぎるというか,面食らうんじゃないかなぁ,と.)
(私が見たときには,配列用意してソートする方法しか書かれてなかったから
「実際には, 0が1万個で 1が8700個 くらいなんですが…」とかいう話だと困りそう(?)なので別方向のを書いてみたのですが,多分余計.)
どうやるのかという方法論みたいなのを示せば十分な段階(だと思うんだけど)で
シャッフルだの乱数取得に何を使うべきなのかとかいう話を持ち出すのはちと性急すぎると思うのですが,どうなんでしょうね.
(まぁ情報が無いよりはあった方がいいのかもですが,ちょっと怒涛すぎるというか,面食らうんじゃないかなぁ,と.)
Re: 乱数の個数を限定する
質問自体は均等に選択する方法を問うているだけですよね。
わたしなら、質問に「のように」と書かれているので乱数の取得方法は現場で決まる(こちらで決めることではない)と考えます。
C++では(やっとのことで)乱数の質に関する改善が行われるようになったのが嬉しいのかもしれないですが
この手の話題が出るといちいち乱数の質を持ち出してくるのを見ると面倒くさいなあと思います。
わたしなら、質問に「のように」と書かれているので乱数の取得方法は現場で決まる(こちらで決めることではない)と考えます。
C++では(やっとのことで)乱数の質に関する改善が行われるようになったのが嬉しいのかもしれないですが
この手の話題が出るといちいち乱数の質を持ち出してくるのを見ると面倒くさいなあと思います。
RE: 乱数の個数を限定する
なれさえすればNo.8のコードが何も考える必要のない(ミスの発生しない)コードだと思いますね。
自分はFill_nとかすこしでも直観的でないものは使いませんけど、
ぶっちゃけ質問の答えは
①コンテナaに数字を入れておく。
② これだけで事足りると思います。
非常に直観的な最低限のコードですね。
標準さん偉い
まぁC++じゃダメなんでしょうがね…
自分はFill_nとかすこしでも直観的でないものは使いませんけど、
ぶっちゃけ質問の答えは
①コンテナaに数字を入れておく。
② これだけで事足りると思います。
非常に直観的な最低限のコードですね。
標準さん偉い
まぁC++じゃダメなんでしょうがね…
最後に編集したユーザー GRAM on 2015年1月20日(火) 21:54 [ 編集 1 回目 ]
Re: 乱数の個数を限定する
規格がどうので横道にそれるのが目立ったらさっそくまねするひとも目立つようになりましたね。
最後に編集したユーザー ISLe on 2015年1月20日(火) 22:38 [ 編集 3 回目 ]
Re: 乱数の個数を限定する
配列に全データを格納するというのは、へにっくすさんの提案ですよね。
それに対して質問者から何も反応のないまま話が展開していくのは、横道にそれてると感じるのです。
標準を示したいから乗っかったわけではないのでしょうけども。
それに対して質問者から何も反応のないまま話が展開していくのは、横道にそれてると感じるのです。
標準を示したいから乗っかったわけではないのでしょうけども。
Re: 乱数の個数を限定する
>なれさえすれば
相手が なれているかどうか を質問内容のレベルや質問文の雰囲気(?)等から察してあげるのも
「アットホーム」とやらなのかな?とか思ったり.
個人的にはなまじC++でサンプルコードを書いちゃったのを反省するレベル.
(へにっくすさんは最初からCで書いてるんだよなぁ さすがだ.)
相手が なれているかどうか を質問内容のレベルや質問文の雰囲気(?)等から察してあげるのも
「アットホーム」とやらなのかな?とか思ったり.
個人的にはなまじC++でサンプルコードを書いちゃったのを反省するレベル.
(へにっくすさんは最初からCで書いてるんだよなぁ さすがだ.)
Re: 乱数の個数を限定する
みけCATさんが途中から指摘してますが、質問のコードは抽選確率が固定ですが、回答は残り当選本数に応じて変動するコードで話が進んでます。
ソーシャルゲームのガチャなんかで残り当選本数に応じて抽選確率が変わるとしたら、人気アイテムの抽選確率にサーバー負荷が大きく影響受けることになります。
メルセンヌ・ツイスタは一様乱数としての質が高いから当選が偏るなんてことは起きないのでしょうかね。
質問に書かれていない前提で話が進むのはよく見られる光景ですけども
知らないことを教えてくれるのだから良いことなのでしょうね。
(追記)
回答者が前提を加えること自体は(それが明らかにされていれば)問題ないと思います。
他の回答者が質問者を無視して(いるかのように)それに乗っかって話を進めることが疑問に思う点です。
ソーシャルゲームのガチャなんかで残り当選本数に応じて抽選確率が変わるとしたら、人気アイテムの抽選確率にサーバー負荷が大きく影響受けることになります。
メルセンヌ・ツイスタは一様乱数としての質が高いから当選が偏るなんてことは起きないのでしょうかね。
質問に書かれていない前提で話が進むのはよく見られる光景ですけども
知らないことを教えてくれるのだから良いことなのでしょうね。
(追記)
回答者が前提を加えること自体は(それが明らかにされていれば)問題ないと思います。
他の回答者が質問者を無視して(いるかのように)それに乗っかって話を進めることが疑問に思う点です。
最後に編集したユーザー ISLe on 2015年1月21日(水) 17:52 [ 編集 3 回目 ]
Re: 乱数の個数を限定する
? 話がよくわからない.
0と1が各5個ずつ出なきゃならないときに
1回目の試行では 0の出る確率が1/2,1の確率が1/2 だけど
2回目の試行では 一方が4/9, 他方が 5/9 になるのが良くないということ?
一方が5個全て出てしまうまでは,常に{1/2,1/2}で決めなさい,というような話…?
0と1が各5個ずつ出なきゃならないときに
1回目の試行では 0の出る確率が1/2,1の確率が1/2 だけど
2回目の試行では 一方が4/9, 他方が 5/9 になるのが良くないということ?
一方が5個全て出てしまうまでは,常に{1/2,1/2}で決めなさい,というような話…?
Re: 乱数の個数を限定する
それが良いか良くないかということではなくて、まだ分かっていない段階で良いか良くないかを決め付けることが良くない。usao さんが書きました:0と1が各5個ずつ出なきゃならないときに
1回目の試行では 0の出る確率が1/2,1の確率が1/2 だけど
2回目の試行では 一方が4/9, 他方が 5/9 になるのが良くないということ?
質問の投稿からの可能性として
1. 0と1はどちらかが無くなるまでそれぞれ1/2の確率で出て欲しい
2. 0と1は残りの本数に応じた確率で出て欲しい
どちらもあり得ます。
質問にはどちらとも書かれていません。
が、提示されたコードは1に近い。
が、回答者は確認しないで2を前提として進めている。
最後に編集したユーザー ISLe on 2015年1月21日(水) 19:08 [ 編集 3 回目 ]