我正在尝试编写一个方法,该方法接受一个基数k和一个保留2位小数的值n,然后计算以k为底n的对数,但不使用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;
}
问题出现在我尝试计算以4为底5.0625的对数时,结果返回2.0,但实际上应该是1.5。
我不知道为什么会出现这种情况。非常感谢您能提供帮助。
这不是作业,只是我为了乐趣而尝试解决的问题集的一部分。