Рубрики

Программа для расчета e ^ x по рекурсии

Значение экспоненциальной функции может быть рассчитано с использованием ряда Тейлора.

 = 1 + x/1! + /2! + /3! + ......

Чтобы найти его значение с помощью рекурсии, мы будем использовать статические переменные. Для степени x мы будем использовать p, а для факториалов мы будем использовать f в качестве статических переменных.
Показанная ниже функция используется для увеличения мощности х.

p = p*x 

Функция ниже используется для поиска факториалов.

f = f*n

Функция ниже используется для вычисления суммирования ряда.

r+p/f

где r — рекурсивный вызов функции.

Ниже приведена реализация вышеуказанной идеи.

C ++

// C ++ реализация подхода
#include <stdio.h>

  
// Рекурсивная функция со статическим
// переменные p и f

double e(int x, int n)

{

    static double p = 1, f = 1;

    double r;

  

    // Условие прекращения

    if (n == 0)

        return 1;

  

    // Рекурсивный вызов

    r = e(x, n - 1);

  

    // Обновляем силу х

    p = p * x;

  

    // Факториал

    f = f * n;

  

    return (r + p / f);

}

  
// Код драйвера

int main()

{

    int x = 4, n = 15;

    printf("%lf \n", e(x, n));

  

    return 0;

}

Джава

// Java реализация подхода

import java.text.*;

  

class GFG

{

      
// Рекурсивная функция со статическим
// переменные p и f

static double p = 1, f = 1;

static double e(int x, int n)

{

    double r;

  

    // Условие прекращения

    if (n == 0)

        return 1;

  

    // Рекурсивный вызов

    r = e(x, n - 1);

  

    // Обновляем силу х

    p = p * x;

  

    // Факториал

    f = f * n;

  

    return (r + p / f);

}

  
// Код драйвера

public static void main (String[] args) 

{

    int x = 4, n = 15;

    DecimalFormat df = new DecimalFormat("0.######");

    System.out.println(df.format(e(x, n)));

  
}
}

  
// Этот код предоставлен mits

python3

# Python реализация подхода

  
# Рекурсивная функция
# глобальные переменные p и f

p = 1.0

f = 1.0

  

def e(x, n) :

  

    global p, f

      

    # Условие прекращения

    if (n == 0) :

        return 1

      

    # Рекурсивный вызов

    r = e(x, n - 1)

      

    # Обновить силу х

    p = p * x

      

    # Факториал

    f = f * n

      

    return (r + p / f)

  
# Код драйвера

  

x = 4

n = 15

print(e(x, n))

  
# Это предоставлено ihritik

C #

// C # реализация подхода

using System;

  

class GFG

{

      
// Рекурсивная функция со статическим
// переменные p и f

static double p = 1, f = 1;

static double e(int x, int n)

{

    double r;

  

    // Условие прекращения

    if (n == 0)

        return 1;

  

    // Рекурсивный вызов

    r = e(x, n - 1);

  

    // Обновляем силу х

    p = p * x;

  

    // Факториал

    f = f * n;

  

    return (r + p / f);

}

  
// Код драйвера

static void Main()

{

    int x = 4, n = 15;

    Console.WriteLine(Math.Round(e(x, n),6));

  
}
}

  
// Этот код предоставлен mits

Выход:

54.597883

Рекомендуемые посты:

Программа для расчета e ^ x по рекурсии

0.00 (0%) 0 votes