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 桁を超えています。どうすれば完全な数を取得できますか?
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 桁を超えています。どうすれば完全な数を取得できますか?
BigIntegerは、その計算を行うのに役立ちます。しかし、あなたが望むように大きな数を生成できないかもしれないので、あなたはMath.pow()を使うことができると思います。Math.powは、メソッド シグネチャが入力と出力の両方に double を使用するため、double の範囲によって制限されます。BigInteger を返す独自の pow メソッドを実装する必要がある場合があります。
編集:私はそれをチェックしたところ、java.math.BigInteger.pow(int exponent)があなたの友達になることがわかりました。
BigIntegerを見てください。それが役立ちます。