【问题标题】:Continued Fractions Solving连续分数求解
【发布时间】:2014-05-08 21:51:53
【问题描述】:

这是我目前想到的,适用于数组中的 2 个元素。 数组中的元素是要插入连分数的变量。

double continuedFraction(int a[], int size)
{
    double fraction = a[0];

    for(int i = 1; i < size; i++)
    { 
        fraction += (double)1/(double)a[i];
    }

    return fraction;
}

顺便说一句,我没有使用递归,我需要能够获得连分数结果。

【问题讨论】:

  • 我相信这应该不会太难,我真的无法想象这一点。我非常感谢任何人的指导。

标签: algorithm debugging loops formula continued-fractions


【解决方案1】:

对于第一次迭代,您得到 (a0 + 1/a1)。在进一步的迭代中,您的代码不断添加给定数字的倒数,即 (a0 + 1/a1) + (1/a2) + (1/a3) + ...

理想情况下,您需要的是 + ... 1/(a2 + 1/(a1 + 1/a0))...)

double continuedFraction(int a[], int size)
{
    double fraction = a[0];

    for(int i = 1; i < size; i++)
    { 
        fraction = a[i] + (1/fraction);
    }

    return fraction;
}

如果你想反过来,a0 + 1/(a1 + 1/(a2 + 1/a3 + ... ))...) 你可以从 array_size-1 运行循环到 0

【讨论】:

  • 谢谢!你启发了我现在我正在考虑所有的要点,只要我有机会我爱你
猜你喜欢
  • 2012-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多