サイクルに繰り返さないものはないのはわかっています~、そして繰り返し率を下げるしかないのですが、それでも試してみる必要があります~、試してくれる道教の友人はいますか~
ランダム性の意味は、一般的に、A1 A2 がわかっても A3 の意味を推測できないということだと思います。 あなたが言及した値の繰り返しの問題は、それぞれの値を取得する確率が等しい場合、結果が「ランダム」であることを意味しますが、それは十分に「ランダム」ではないことを意味します。 。
値が重複しないように厳密に制限する必要がある場合は、保管場所が必要であり、この重複しないには時間または空間の範囲も必要です。
私は以前、CSDN で非反復番号をランダムに生成するアルゴリズムを見ました:
愚かな方法は、配列を直接初期化し、各数値を正しい位置に配置してから、最初の結果を最後の桁と交換し、2 番目の結果を最後から 2 番目の桁と交換することです。 , 交換後は次回ランダムに選出されますそれに伴い数値の範囲も1つ減ります。
効率に関しては、投稿者が実装できます。
ライフサイクルが長い場合、100,000は簡単に使い切ってしまいます。どのように生成しても繰り返します。
リーリー
0 ~ 100 が範囲、6 が数値です。さらに重要なのはスレッドの安全性です。
ランダム性の意味は、一般的に、A1 A2 がわかっても A3 の意味を推測できないということだと思います。
あなたが言及した値の繰り返しの問題は、それぞれの値を取得する確率が等しい場合、結果が「ランダム」であることを意味しますが、それは十分に「ランダム」ではないことを意味します。 。
値が重複しないように厳密に制限する必要がある場合は、保管場所が必要であり、この重複しないには時間または空間の範囲も必要です。
私は以前、CSDN で非反復番号をランダムに生成するアルゴリズムを見ました:
リーリー愚かな方法は、配列を直接初期化し、各数値を正しい位置に配置してから、最初の結果を最後の桁と交換し、2 番目の結果を最後から 2 番目の桁と交換することです。 , 交換後は次回ランダムに選出されますそれに伴い数値の範囲も1つ減ります。
効率に関しては、投稿者が実装できます。
リーリーライフサイクルが長い場合、100,000は簡単に使い切ってしまいます。どのように生成しても繰り返します。
リーリー
0 ~ 100 が範囲、6 が数値です。さらに重要なのはスレッドの安全性です。