Red de conocimiento informático - Conocimientos de programación - Recursión de funciones de programación

Recursión de funciones de programación

¡Calcule n usando recursividad!

Utiliza la recursividad para calcular n! Se puede expresar mediante la siguiente fórmula:

n! =1 (n=0, 1)

n×(n-1)! (n & gt1)

Según la fórmula, se puede programar de la siguiente manera:

long ff (entero)

{

Long f;

p>

If (n & lt0) printf (" n & lt;0, error de entrada"); = = 1)f = 1;

else f = ff(n-1)* n;

Devuelve (f); >

Main()

{

int n;

Long y

printf("\nIngrese un número entero: \n");

p>

scanf("%d ",&n);

y = ff(n);

printf( "%d!=%ld ",n, y);

}

La función ff dada en el programa es una función recursiva. Después de que la función principal llama a ff, ingresa a la función ff para su ejecución. Si n

Demos otro ejemplo para ilustrar este proceso. Supongamos que la entrada al ejecutar este programa es 5, es decir, ¡encuentre 5! . La declaración de llamada en la función principal es y = ff (5). Después de ingresar a la función ff, dado que n = 5 no es igual a 0 o 1, se debe ejecutar f = ff (n-1) * n, es decir, f = ff (5-1) * 5. Esta declaración realiza una llamada recursiva a ff, que es ff(4).

Después de cuatro llamadas recursivas, el valor del parámetro formal de la función ff pasa a ser 1, por lo que las llamadas recursivas ya no continúan y la función de llamada principal se devuelve capa por capa. El valor de retorno de la función de ff(1) es 1, ff(2) es 1*2=2, ff(3) es 2*3=6, ff(4) es 6*4=24, ff(5) es 24*.