Javaで非常に大きな乱数を生成するにはどうすればよいですか?私は10000桁のようなものを話しているのですか?BigIntegerを使用する必要があることはわかっていますが、どうすればこれを実行できますか?このようなことをする最も効率的な方法は何ですか?小さな例を教えてください。ありがとうございました。
13182 次
3 に答える
21
1つの方法は、Random.orgにアクセスして、バイナリランダムファイルの1つをダウンロードすることです。ファイルは大気ノイズから生成されるため、非常にランダムです。チェスエンジンのゾブリストキーに使用しました。
あるいは、あなたは行くことができます
BigInteger b = new BigInteger(256, new Random());
それはあなたが望むものをあなたに与えるでしょう。この例では、256ビットで構成されるBigIntegerです。
于 2011-11-23T15:31:18.803 に答える
9
Random.nextBytes(byte[])
と組み合わせるBigInteger(byte[])
。
import java.util.*;
import java.math.*;
class Test{
public static void main(String[]_){
int n = 16;
Random r = new Random();
byte[] b = new byte[n];
r.nextBytes(b);
BigInteger i = new BigInteger(b);
System.out.println(i);
}
}
于 2011-11-23T15:27:47.120 に答える
-2
次のように入力できます。
int number = (int)(Math.random() * 100);
また、乗数を変更すると、さらに大きな数値を生成できます。
int number = (int)(Math.random() * 1000);
PSクラスをインポートする必要はありません。
于 2019-02-07T16:12:27.333 に答える