找到求和和X的计数

时间:2011-11-17 20:27:43

标签: c++ math

我试着这样做:

(n输入数1 <= n <= 100,首先x = 0.1)

enter image description here

我必须打印一个包含总和和X-es计数的表 我尝试用递归来解决这个问题,但这需要很长时间:(

我只想知道算法。

我的尝试:

#include <iostream>

using namespace std;

int main()
{
  int N;

  cin >> N;

  double x = 0.1, mx2 = -x*x*2;
  int i;
  double part = 1, sum = 1;

  for (i = 2; i < N; i+=2) {
    part *= mx2/((i-1)*i);
    sum += part;
    cout<<"sum= "<<sum<<endl;
  }

  return 0;
}

是吗?

1 个答案:

答案 0 :(得分:2)

要计算x^2n,请注意,在上一步中您需要x^2(n-1),因此只需要将其与x^2相乘。

另外,对于计算(2n)!,您在上一步中已(2(n-1))!,因此只需要将其乘以(2n-1)*2n

实际上只有一个额外的变量可以帮助你,它拥有x ^ 2n /(2n)的值!在每一步中,只需将其乘以下一步的适当值。

修改 您当前的代码问题在这一行:

cout<<"sum= "<<sum<<endl;

因为cout是非常耗时的工作,并且在for循环的每次迭代中你都想要这样做。 而不是那样,如果需要有这样的cout,创建char流并将总和的值插入到此中,最后只需一个cout显示所有结果。