rnd.NextDouble()のループを通らずにRandomクラスのいくつかの数を予測する方法はありますか?同じSystem.Randomアルゴリズムを使用した線形擬似乱数生成
私は今、このコードを使用しています:
Random rnd = new Random(SOME_STATIC_SEED);
//I need to get the 1000000'th random number:
for (ulong i = 0; i < 1000000; i++)
//I need to avoid this loop and get the result in a linear time!
{
rnd.NextDouble();
}
double iNeedThisNumber = rnd.NextDouble();
を私はループせずにそれを取得できますか?私はSystem.Randomクラスのアルゴリズムを使って与えられた同じ正確な数字が必要です.Netの!
は、伝えられるところで解決:
これは私のコードです!
public static ulong GetNumberFromSequence(int seq)
{
Random rnd = new Random(seq);
return (ulong)(rnd.NextDouble() * 99999999999999)^(ulong)seq;
}
あなたは何を求めているのですか?あなたは何を達成しようとしていますか? –
ありがとう!私はSystem.Random .Netクラスを使用して擬似ランダムシーケンスを生成していますが、これをやろうとしたときに、以前のすべての番号をループして、対応する番号をランダムに取得する必要がありました。いくつかの線形複雑アルゴリズムではループを発生させない。 –
このプロパティを持つ乱数ジェネレータが必要な場合は、このプロパティを持つ乱数ジェネレータを使用するだけです。 –