Я не могу написать сложное уравнение в коде - PullRequest
0 голосов
/ 16 мая 2018

Я пытался превратить это одно сложное уравнение в код, и кажется, что я мог сделать что-то не так. Вот изображение уравнения:

Here

Вот первый код, который я попытался использовать для преобразования уравнения в код.

double answer = 1 - (Math.Pow(f, n) * ((s * l / f) + Math.Pow((20 / f), w) / Math.Pow(20, n)));

Вот код, который я использовал во второй попытке:

double answer = 1 - Math.Pow(f, n) * ((s * l) / f) + Math.Pow((20 / f), w) / Math.Pow(20, n);

Если я предположу, что каждая переменная уравнения равна 2, тогда я получу -.02. Но когда я запустил код, код первой попытки вернул значение -8, а вторая попытка вернула -6.75.

Есть ли что-то, что я делаю неправильно в своем коде сейчас? И еще извините, если я плохо объясняю вещи.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

В обеих попытках вы просто поставили скобки не в том месте.

Попробуйте это:

double answer =
    1 - Math.Pow(f, n) * (s * l / f + Math.Pow((20 / f), w)) / Math.Pow(20, n);
0 голосов
/ 16 мая 2018

Я проверил это и получил результат -0,02. Попробуйте разделить код, чтобы сделать его более разборчивым. Это может помочь вам диагностировать синтаксис вашего сложного уравнения в одной строке.

double f = 2;
double n = 2;
double s = 2;
double w = 2;
double l = 2;


double A = Math.Pow(f, n);
double B = (s * l) / f;
double C = Math.Pow((20 / f), w);
double bottom = Math.Pow(20, n);
double top = A * (B + C);
double answer = 1 - top / bottom;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...