Как закодировать эту формулу в 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)));
Другие вопросы по тегам