我想要得到一个数字的四次方的余数。这是我的代码:
static int testMod(int a, int mod) {
/* //This looks clear
BigInteger a4 = a;
return (a4.pow(4))%mod;
*/
//This works
String a2String = Integer.toString(a);
String mod2String = Integer.toString(mod);
BigInteger a4 = new BigInteger(a2String);
BigInteger modBigInt = new BigInteger(mod2String);
a4 = a4.pow(4);
return a4.remainder(modBigInt).intValue();
}
这个代码可以正常工作,但是将其转换为字符串似乎没有必要,使用%
运算符比使用a.remainder(b)
更加简洁。有没有可能重写它,使其更加清晰明了?