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。您可能必须实现自己的 pow 方法,该方法应返回 BigInteger。

编辑:我刚刚检查了一下,发现java.math.BigInteger.pow(int exponent)将是你的朋友。

于 2013-07-06T13:10:37.967 回答
1

看看BigInteger。我会帮你的。

于 2013-07-06T13:11:12.387 回答