基数kと小数点以下2桁までの値nを取り、JavaのMath.logメソッドを使用せずにnの対数基数kを計算するメソッドを作成しようとしています。これが私がこれまでに持っているものです:
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;
}
この問題は、2.0を返す5.0625のログベース4を計算しようとすると発生しますが、1.5を返すはずです。
なぜこれが機能しないのかわかりません。どんな助けでも大歓迎です。
いいえ、これは宿題ではありません。楽しみのために解決しようとしている問題セットの一部です。