C#, C♯, C#相談室 Part61
■ このスレッドは過去ログ倉庫に格納されています
0259デフォルトの名無しさん
2010/08/06(金) 13:17:01for (int i = 0; i < 50; i++){
Console.Write((new Random(seed++)).Next(100) + ", ");
}
乱数を使おうと思っているのですが、このコードを実行すると
> 20, 72, 24, 76, 29, 81, 33, 85, 38, 90, 42, 94, 46, 99, 51, 3, 55, 8, 60, 12, 64,
> 17, 69, 21, 73, 26, 78, 30, 82, 35, 87, 39, 91, 44, 96, 48, 0, 53, 5, 57, 9, 6,
> 2, 14, 66, 18, 70, 23, 75, 27, 79, 続行するには何かキーを押してください . . .
こんな感じでかなり規則的な数列が毎回出てきてしまいます。
規則的というのは
・隣の数との差が約50
> 【20, 72】, 【24, 76】, 【29, 81】…
・一つおきに約5ずつ加算されて、100を超えると0に戻る
> 【20】, 72, 【24】, 76, 【29】, 81…【91】, 44, 【96】, 48, 【0】
ネット上のサンプルではseedは+1していくだけでバラけた乱数が得られているようですが、
http://www.atmarkit.co.jp/fdotnet/dotnettips/035random/random.html
自分の環境では何度やっても+Nしていく限りは規則的な乱数になってしまいます
.NETのバージョンは4です
ヒントなどありましたらご教授お願いします
■ このスレッドは過去ログ倉庫に格納されています