Как закодировать эту формулу в Java?
Я пытался представить эту формулу в Java, но значения не верны, может быть, у меня возникли проблемы с преобразованием формулы в код.
private double getFactor(int y) {
double factor = 10 * Math.pow(3, logOfBase(2, 10 + Math.pow(y, 3)));
return factor;
}
public double logOfBase(int base, double num) {
return Math.log(num) / Math.log(base);
}
3 ответа
Решение
Как насчет разделения его на несколько частей:
double temp = (double)10 + Math.pow(0, 3); // 0 = y
double factor = 10 * Math.pow(Math.log(temp), 3); //Math.log - Returns the natural logarithm (base e) of a double value
System.out.println(String.valueOf(factor));
оп:
+122,08071553760861
Чтобы пойти на Бен Вин для всех значений у.
public double getfactor(int y){
double temp = (double)10 + Math.pow(y, 3); //
double factor = 10 * Math.pow(Math.log(temp), 3);
return factor;
}
Я думаю, что вы ищете журнал базы 3, а не войти в степень 3. Поэтому формула должна быть
double factor = 10 * logOfBase(3, 10 + Math.pow(y, 3)));