Вычислить сумму ряда - C (СИ) (70435)

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

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

Help помогите написать программу.Вычислить сумму ряда (1+n!)/(2+n!) с позиции N до позиции M. Функцию вычисления суммы реализовать рекурсивно. на си

Решение задачи: «Вычислить сумму ряда»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. double sum(int k,int m, double f, double s)
  5. {
  6.        double ff;
  7.        if (k > m) return s;
  8.        ff=f*(double)(k);
  9.        return sum(k+1,m,ff,s+(1.0+ff)/(2.0+ff));
  10. }      
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14.   int i,n,m;
  15.   double r,f;
  16.   printf("n="); scanf("%d",&n);
  17.   printf("m="); scanf("%d",&m);
  18.   f=1.0;
  19.   for (i=1; i<n; i++) f*=(double)i;
  20.   r=sum(n,m,f,0.0);
  21.   printf("s=%lf\n",r);
  22.   system("PAUSE"); 
  23.   return 0;
  24. }

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

Вычисление суммы ряда чисел:

  1. Ввод через клавиатуру чисел n и m.
  2. Инициализация переменной f единицей.
  3. Умножение f на каждое из чисел от 1 до n-1.
  4. Вызов функции sum с передачей в нее параметров n,m,f,0.
  5. Вывод результата на экран.
  6. Ожидание нажатия любой клавиши.
  7. Конец работы.

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


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

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

15   голосов , оценка 4.067 из 5

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

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

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