公式计算逻辑

时间:2018-12-09 23:03:52

标签: c logic

我需要在代码中计算以下问题:

x0 = 2且xi =(−1/2)* x(sub i-1)* sqrt(x(sub i-1))

查找(1 / e ^(x1 + x2 + x3 + ...))的结果。

enter image description here

(或标记为文本)

  
      
  1. 编写适当类型的函数,计算并返回以下结果:
      e (x 1 -1 -x 2 -1 + x 3 -1 -x 4 -1 + ...),用于 n 个元素,定义为:x 0 = 2和x i =-½√| x i-1 |
  2.   

它必须用C语言完成,但是我只是想弄清楚它的后勤性。

到目前为止,我一直在想:x0必须是一个用2和x1初始化的变量。 x2,x3 ...将在递归函数中计算n-1次。我不确定结果应该如何存储,还是变量还是数组?数组合适吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

像这样反复进行操作会不会更简单?我实际上不确定这是否会产生正确的答案,但这似乎就是您的公式所暗示的。

long double
compute(unsigned n)
{
    long double x = 2.0L;
    for (unsigned i = 0; i < n; ++i)
        x = (-(1.0L/2.0L) * x) * sqrtl(fabsl(x));
    return x;
}