2016-10-29 9 views
4

BigIntegerを初めて使用しています。そのため、私は、BigIntegerのドキュメントをよく読んでいます。私はまだ混乱している。 2^70と2^80の範囲で500個の乱数を生成する必要があり、BigIntegersの範囲を設定する方法はわかりません。指定された範囲内でランダムな一意のBigIntegerを生成しますか?

私は可能な重複メッセージを取得していますので、私は、私はすでにこの1で解決策を見てきましたことを追加する必要がありますし、まだ私の問題を解決する方法を理解していないと思います。How to generate a random BigInteger value in Java?

+0

[JavaでランダムBigInteger値を生成する方法](http://stackoverflow.com/questions/2290057/how-to-generate-a-random-biginteger-value-in-java) の可能な複製私はあなたの質問に答えなければならないと思います。 – DonyorM

+0

可能な複製:http://stackoverflow.com/questions/2290057/how-to-generate-a-random-biginteger-value-in-java –

答えて

1

あり0〜2^n - 1の間のbuilt-in method to generate a random BigInteger

これをループ内で使用して、2^80までの数値を生成することができます。

数値が2^70を下回る可能性は非常に小さい(約0.1%)。それが起こると(そして500回の反復で非常にうまくいくかもしれません)、別のものを描きます。

これは、2^70と2^80の間の乱数の一様分布を与えます。

数字が繰り返される可能性はほとんどありません。それが無視できないと感じる場合は、前の番号に重複がないかチェックして、再度描画します。

+0

最小範囲値を設定することはできますか?私の割り当ての場合は、その特定の範囲内に設定する必要があります。 – Jasmine

+1

最小範囲は何ですか?それが2^70なら、上記はうまくいくでしょう。 2^78の場合は、http://stackoverflow.com/a/23054579/14955などの別の方法を使用することをお勧めします。 – Thilo

関連する問題