problem 45


#include <stdio.h>
#include <math.h>

float rec_call(int, int);
int fact(int);

int main() {
    int n, x;
    float sum = 0;
    printf("\nEnter Value of X: ");
    scanf("%d", &x);
    printf("\nEnter number of iterations n: ");
    scanf("%d", &n);
    sum = rec_call(x, n);
    printf("Sum = %f\n", sum);
    return 0;
}

float rec_call(int x, int n) {
    static float sum;
    if (n == 0) {
        return sum;
    }
    if (n % 2 == 0) {
        sum -= (pow(x, (2 * n) - 1) * 1.0) / fact((2 * n) - 1);
    } else {
        sum += (pow(x, (2 * n) - 1) * 1.0) / fact((2 * n) - 1);
    }
    return rec_call(x, n - 1);
}

int fact(int n) {
    if (n == 0 || n == 1) {
        return 1;
    }
    return n * fact(n - 1);
}



Contact Form