2016-09-28 28 views
1

我想在java中这是字符串 即 99999999999999999^99999999999999999 计算表达式我要计算这个数模1000000007。 我目前试图将大号码存储为双号码,但用双号码取模后会给我NaN。 有人可以帮忙吗?如何计算大量的模在字符串格式在java中

+2

'99999999999999999^99999999999999999'是一个相当......一大批。你将不得不应用数学而不是暴力。 –

+0

我们不能在这里使用double吗? – piyush121

+8

定义'我试过'和'没有工作'。 – EJP

回答

7

您可以使用BigIntegermodPow(BigInteger, BigInteger)

BigInteger m = new BigInteger("1000000007"); 
BigInteger a = new BigInteger("99999999999999999"); 
BigInteger b = new BigInteger("99999999999999999"); 
BigInteger answer = a.modPow(b, m); 
System.out.println(answer); 

这给

265859324 
+0

这一个看起来是正确的! – piyush121

+3

就是这样。 –

相关问题