我需要在代码中计算以下问题:
x0 = 2 且 xi = (−1/2) * x(sub i - 1) * sqrt(x(sub i - 1))
求 (1/e^(x1 + x2 + x3 + ...)) 的结果。
(或作为标记文本)
- Write a function of an appropriate type that calculates and returns the result of:
e(x1-1 - x2-1 + x3-1 - x4-1 + ...), for n elements, defined as: x0 = 2 and xi = -½√|xi-1|
它必须用 C 语言完成,但我只是想弄清楚它的逻辑。
到目前为止我的想法是:x0 必须是一个用 2 和 x1 一起初始化的变量。 x2, x3... 将在递归函数中计算 n-1 次。我不确定结果应该如何存储,也是变量还是数组?数组合适吗?
谢谢。
最佳答案
这样迭代不是更简单吗?我实际上不确定这是否会产生正确的答案,但这似乎是您的公式所暗示的内容。
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;
}
关于c - 公式计算逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53697580/