C言語(C++)で乱数を使いたいのですが、
乱数の合計が一定値になるようにしたいのですがどのように生成すればいいでしょうか。
Visual Studio 2012 Expressを使っています。
randNoise()を使うと、-1から1までのdouble型を返すようにしています。
解決方法わかる方、ご教授お願いします
合計が一定になる乱数生成
Re: 合計が一定になる乱数生成
むずかしいような気がします。STR さんが書きました: 乱数の合計が一定値になるようにしたいのですがどのように生成すればいいでしょうか。
例えば、10個の合計が0という一定値になるようにしたい、とします。
このとき、「たまたま」最初の6個が全部+1だったとすると、後どうがんばっても
10個の合計を0にはできないですね。
そもそも、合計を一定値にしたい、という時点で乱数ではなくなっているような気もします。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 合計が一定になる乱数生成
適当に生成した乱数の合計が目標値の5割だったら全て倍にするとか?
その場合乱数の範囲も倍になるけど。
何のためにそんなことするのかによってアプローチは違うかと思います
その場合乱数の範囲も倍になるけど。
何のためにそんなことするのかによってアプローチは違うかと思います
Re: 合計が一定になる乱数生成
あなたが仕様を決めるのですから、不可能ってことはないでしょう。
でもそのやり方で出来た集合に含まれる要素は乱数というよりはただのランダムっぽい数でしょうね。
乱数は予測できたら意味ないですから。
でもそのやり方で出来た集合に含まれる要素は乱数というよりはただのランダムっぽい数でしょうね。
乱数は予測できたら意味ないですから。