【问题标题】:Logic for formula calculation公式计算的逻辑
【发布时间】:2018-12-09 23:03:52
【问题描述】:

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

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

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

(或作为标记的文本)

  1. 编写一个适当类型的函数,计算并返回以下结果:
    e(x1-1 - x2-1 + x3 sub>-1 - x4-1 + ...),对于 n 个元素,定义为:x0 = 2 和 xi = -½√|xi-1|

它必须在 C 中完成,但我只是想弄清楚它的逻辑。

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

谢谢。

【问题讨论】:

  • 图像看起来根本不像“(1/e^(x1 + x2 + x3 + ...))”。它看起来像 e^(x 的一系列函数,带有交替符号项)。迭代地编写它比递归地编写它更简单。首先构建系列,然后将 e 提升到该功率。
  • "到目前为止我的想法......" --> 发布代码。

标签: c logic


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多