Reputation: 515
I am trying to calculate an expression in java which is in String
i.e
99999999999999999^99999999999999999
I want to calculate this number modulo 1000000007
.
I currently trying to store the big numbers as double but taking modulo with double gives me NaN
.
Can somebody help ?
Upvotes: 1
Views: 878
Reputation: 201399
You can use BigInteger
and modPow(BigInteger, BigInteger)
like
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);
which gives
265859324
Upvotes: 7