Посчитать сумму ряда при помощи функции и рекурсии - C (СИ)
Формулировка задачи:
Помогите дописать код.
Задание:
посчитать суму ряда (x/(n!)), суму считать при помощи функции и рекурсии. Я все уже перепробовал, ничего не помогает.#include <stdio.h> #include <conio.h> int fact (int n); int sum (int n, int x); int main () { int N, f, x; float suma=0; printf ("Enter N: "); scanf ("%d", &N); f=fact(N); printf ("Enter X: "); scanf ("%d", &x); suma= sum (N, x); printf ("Suma = %0.2f", suma); getch (); return 0; } int fact (int n) { return (n>1)? n*fact(n-1):1; } int sum (int n, int x) { return (n>0)? ((x)/(fact(n))+((x)/(fact(n-1)))):1; }
Решение задачи: «Посчитать сумму ряда при помощи функции и рекурсии»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> double Sum(double x, double eps, double f, double n, double s) { double a=x/f; s+=a; if (a<eps) return s; return Sum(x,eps,f*(n+1),n+1,s); } int main(int argc, char *argv[]) { double y,x,eps; printf("x="); scanf("%lf",&x); printf("eps="); scanf("%lf",&eps); printf("Sum=%lf\n",Sum(x,eps,1,1,0)); system("PAUSE"); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется функция Sum, которая принимает в качестве аргументов double x, double eps, double f, double n, double s.
- Внутри функции происходит вычисление значения переменной a как частное x на f.
- Значение переменной a добавляется к переменной s.
- Проверяется условие if (a<eps), если оно истинно, то функция возвращает значение s.
- В противном случае функция вызывает саму себя, передавая в качестве аргументов x, eps, f*(n+1), n+1, s.
- В функции main() считываются значения переменных x и eps с помощью функции scanf().
- Вызывается функция Sum(x, eps, 1, 1, 0), где 1-первый аргумент, 1-это начальное значение n, а 0-это начальное значение s.
- Выводится результат вычисления функции Sum с помощью функции printf().
- Выполняется команда system(
PAUSE
), которая приостанавливает выполнение программы до нажатия клавиши. - Функция main() возвращает 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д