Найти счет суммирования и X - PullRequest
0 голосов
/ 18 ноября 2011

Я пытался сделать это:

(n-входное число 1 <= n <= 100, сначала x = 0,1) </p>

enter image description here

У меня естьчтобы напечатать таблицу с количеством сумм и X-ов, я пытался решить эту проблему с помощью рекурсии, но это занимает очень много времени: (

Я только хочу знать алгоритм.

Мойпопытка:

#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 Ответ

2 голосов
/ 18 ноября 2011

Для расчета 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, создайте поток символов и вставьте в него значение вашей суммы, и, наконец, только с одним cout покажите все результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...