c - 公式计算逻辑

标签 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. 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/

相关文章:

javascript - 标准 boolean 运算顺序

python - boolean 值有两个可能的值。是否存在具有三个可能值的类型?

c# - 将信息从 MS Access 数据库传输到 MySQL 数据库

logic - 合金约束规范

c - shell命令如何执行

c - 函数的线程本地存储

反转字符串的概念错误。知道其他逻辑但想知道我哪里出错了

c - 将主要参数传递给 gui 库的 init 函数

javascript - 无法重新启动逻辑井字游戏 (JavaScript)

c - 如何使用 PTRACE 获得多线程的一致 View ?