【发布时间】:2012-06-14 01:16:54
【问题描述】:
我一直盯着这段代码看,无法弄清楚它有什么问题,也许一双新的眼睛会有所帮助。
public static BigInteger powerOfBigInteger (BigInteger base, BigInteger power){
if (power == BigInteger.valueOf(0)){
return BigInteger.valueOf(1);
}
if (power == BigInteger.valueOf(1)){
return base;
}
BigInteger x = BigInteger.valueOf(1);
while (x != power ){
base.multiply(base);
x.add(BigInteger.valueOf(1));
System.out.println(x + " " + power);
return base;
}
return base;
我运行这个,显然 x 永远不等于权力。任何帮助表示赞赏。
【问题讨论】:
-
为什么要实现这个方法?
BigInteger已经有一个pow(int)方法,对于任何太大而无法容纳在int中的功能,无论如何都会耗尽您的内存。
标签: java biginteger exponent