Другие языки программирования и технологии

Каков алгоритм решения данной задачи, где копать?

Сначала нужно представить выражение в реккурентном виде:

Видим, что это есть сумма степенного ряда при этом коэффициенты Ak монотонно убывают и в пределе стремятся к нулю. Вопрос стоит в оценке погрешности вычислений из нее выбирается условие выхода из цикла вычислений. Тоесть гуглить тебе нужно в сторону "оценка погрешности приближения функции степенным рядом". Есть много способов получить условие выхода из итерационного процесса, предлагаю тебе использовать вот это, а потом спросить у препа или что там еще, потому что с заданной точностью он считать будет, но дольше чем могло бы быть


Алгоритм будет таким:
double foo(double x, double e)
{
      double a = 1, s = 0;
      int k=1;
      do
      {
            k = k + 1;
            s = s + a;
            a = a * x * (-1) * (2*k-1) * 2k;
      }while(Abs(a) > e);
      return s;
}
АВ
Андрей Великий
3 734
Лучший ответ
твоя задача состоит в том чтобы записать формулу члена этого ряда
суть в том что абсолютная величина каждого следующего члена ряда меньше предыдущего. вот и считаешь ты эту сумму пока очередной член ряда по модулю не станет меньше либо равен заданной точности ε
Иван Сарамуд
Иван Сарамуд
65 338
Первый член последовательности равен 1.

P1 = 1

Второй отличается от первого:

P2 = -P1 * n1 * x / n2

где n1 = 1, а n2 = 2 .

Третий уже будет:

P3 = -P2 * n1 * x / n2

где n1 = 3, а n2 = 4, т. е. увеличились от предыдущего шага на 2.

Ну и т. д.
Закономерность выделена!

P.S. Данная последовательность сходится только при x < 1 !
Копай по ссылке, там похожая задача.
Да уж... где копать?
только увеличение K надо поставить после нахождения очередного элемента или же начинать К=0 (иначе не получается второй элемент А1)