LargeInteger
, похоже, не имеет функции pow
, или если да, то он не может обрабатывать pow(0)
, хотя BigInteger
can.pow for LargeInteger
я пытался построить мой собственный, но память, кажется, шип плохо, и может быть бесконечный цикл, как он работает бесконечно:
public static LargeInteger liPow(LargeInteger base, int exponent){
if(exponent == 0){
return LargeInteger.valueOf(1);
}
else if(exponent == 1){
return base;
}
else{
for(int i=1; i<exponent; i++){
base = base.times(base);
}
return base;
}
}
Как метод pow
быть разработан для LargeInteger
?
Ваш фактически не вычисляет 'pow()', а некоторую большую функцию 'base^(2^exp)'. – Sirko
@Mysticial Спасибо, Мистицизм! Я обязательно посмотрю на это! –
Проклятье. Я удалил свой комментарий так же, как вы ответили. Здесь снова: используйте этот алгоритм: http://en.wikipedia.org/wiki/Exponentiation_by_squaring – Mysticial