Вычислить значение, используя рекуррентную зависимость - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Нужно вычислить сумму с заданной точностью Вот мой код
#include <stdio.h>
#include <stdlib.h>
#define EPS 1e-5
int main(void)
{
    unsigned int n =1;
    double chisl,znam,sum,x;
          printf("Enter x");
        scanf("%lf",&x);
        chisl=1;
        znam=1;
        sum=0;
        do{
            
        chisl*=(-1)*x;
        znam*=n;
        sum+=chisl/(znam+1);
        n++;
        }
     while(sum>EPS || sum<-EPS);
        printf("s=%lf \n",sum);
        system("pause");
        return 0;
 
}
Считает не так,как хотелось бы. Что не так в коде?

Решение задачи: «Вычислить значение, используя рекуррентную зависимость»

textual
Листинг программы
int temp;
do{
            
        chisl*=(-1)*x;
        znam*=n;
        temp=chisl/(znam+1);
        sum+=temp;
        n++;
        }
     while(temp>EPS);

Объяснение кода листинга программы

  1. Объявлены три переменные: chisl, znam и temp.
  2. Переменная chisl умножается на -1 и на x.
  3. Переменная znam умножается на n.
  4. Вычисляется значение переменной temp путем деления chisl на сумму znam и 1.
  5. Значение переменной temp добавляется к переменной sum.
  6. Увеличивается значение переменной n на 1.
  7. Проверяется условие, что значение переменной temp больше заданного значения EPS.
  8. Если условие выполняется, то цикл повторяется с шага 1.
  9. Если условие не выполняется, то цикл завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы