Посчитать сумму ряда с заданной точностью - C#

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

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

Задание: x - x^3/3!+ x^5/5!- x^7/7! .....(-1)^n+x^(2*n+1)/(2n+1)!
Листинг программы
  1. class Class_Looping
  2. {
  3. public const double DOUBLE_ERROR_SUM = -1E10 + 0.1;
  4. public static double summm(double num, double eps, double x)
  5. {
  6. if (num > 1e6)
  7. {
  8. return DOUBLE_ERROR_SUM;
  9. }
  10. else
  11. {
  12. double sum = 0;
  13. double ch = 0;
  14. double zn = 0;
  15. double fct = 1;
  16. int sign = 1;
  17. for (int i = 0; i <=num; i++)
  18. {
  19. ch = Math.Pow(x, 2 * i + 1);
  20.  
  21. fct *= 2*i+1;
  22. if (i % 2 != 0)
  23. {
  24. zn += sign * fct;
  25. sign *= -1;
  26. }
  27. sum = ch / zn;
  28. sum += sum;
  29. }
  30. return sum;
  31. }
  32. }
  33. }
  34. }
Проблема в том, что когда например у нас получается числитель x^3, то его знаменатель 1! не могу понять, как это исправить заранее спасибо!

Решение задачи: «Посчитать сумму ряда с заданной точностью»

textual
Листинг программы
  1.     class Class_Looping
  2.     {
  3.         public const double DOUBLE_ERROR_SUM = -1E10 + 0.1;
  4.         public static double summm(double num, double eps, double x)
  5.         {
  6.             if (num > 1e6)
  7.             {
  8.                 return DOUBLE_ERROR_SUM;
  9.             }
  10.             else
  11.             {
  12.                 double sum = 0;
  13.                 double ch = 0;
  14.                 double fct = 1;
  15.                 int sign = -1;
  16.                 for (int i = 0; i <=num; i++)
  17.                 {
  18.                     ch =  Math.Pow(x, 2 * i + 1);
  19.  
  20.                     if (i == 0)
  21.                         fct = 1;
  22.                     else
  23.                         fct *= 2*i*(2*i + 1);
  24.                     if (i % 2 != 0)
  25.                         ch *= sign;
  26.                     sum = ch / fct;
  27.                     sum += sum;  
  28.                 }
  29.                 return sum;
  30.             }
  31.         }
  32.     }

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


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

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

8   голосов , оценка 3.875 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы