我一直试图将这个conplex方程变成代码,看起来我可能做错了。这是等式的图像:
这是我尝试将方程式转换为代码时使用的第一个代码。
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。
我的代码现在有什么问题吗?如果我不好解释东西,也很抱歉。
答案 0 :(得分:6)
我测试了这个并获得了-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;
答案 1 :(得分:1)
在这两次尝试中,你的括号都在错误的位置。
试试这个:
double answer =
1 - Math.Pow(f, n) * (s * l / f + Math.Pow((20 / f), w)) / Math.Pow(20, n);
答案 2 :(得分:0)
尝试使用下面的公式:
double answer = (1 - Math.pow((Math.pow(f,n)*[s*l/f+20/f})),w)/Math.pow(20,f)