我想写发生在基地ķ和值ň到小数点后2位的方法,然后计算n的数座K,而无需使用任何Java的Math.log方法。这是我到目前为止有:计算对数
public static double log(double k, double n) {
double value = 0.0;
for(double i = 1; i > .001; i /= 10) {
while(!(Math.pow(k, value) >= n)) {
value += i;
}
}
return value;
}
的问题出现了,当我尝试计算的5.0625底数4,返回2.0,而应返回1.5。
我不知道为什么这不起作用。任何帮助表示赞赏。
不,这不是家庭作业,它是问题集的一部分,我试图解决的乐趣。
如果您不允许使用Math.log,您如何允许使用Math.pow? – 2011-04-15 00:57:37
@Paulo他们是不同的方法。我说你不能使用日志,我没有说关于战俘的任何事情。 – Jon 2011-04-22 20:27:18