0
int p=223;
int q=569;
int n=p*q;
double num=65;
double d=100877;
exp=Math.pow(num,d);
c=(exp)%n;
System.out.print(expo);
System.out.print("\n"+Math.pow(65, 100877));

出力: 2147483647 無限大

しかし、実際の結果は 3000 桁を超えています。どうすれば完全な数を取得できますか?

4

2 に答える 2

6

BigIntegerは、その計算を行うのに役立ちます。しかし、あなたが望むように大きな数を生成できないかもしれないので、あなたはMath.pow()を使うことができると思います。Math.powは、メソッド シグネチャが入力と出力の両方に double を使用するため、double の範囲によって制限されます。BigInteger を返す独自の pow メソッドを実装する必要がある場合があります。

編集:私はそれをチェックしたところ、java.math.BigInteger.pow(int exponent)があなたの友達になることがわかりました。

于 2013-07-06T13:10:37.967 に答える
1

BigIntegerを見てください。それが役立ちます。

于 2013-07-06T13:11:12.387 に答える