Una función recursiva tiene la siguiente forma general (es simplemente una especificación de la función general que hemos visto muchas veces):
Función ReturnType (Pasar argumentos apropiados)
{
si es un caso simple, devuelve el valor simple [caso base / condición de detención]
de lo contrario, llame a la función con una versión más simple del problema
}
Para que una función recursiva deje de llamarse a sí misma, necesitamos algún tipo de condición de detención. Si no es el caso base, entonces simplificamos nuestro cálculo usando la fórmula general.
Una forma útil de pensar en las funciones recursivas es imaginarlas como un proceso que se realiza donde una de las instrucciones es “repetir el proceso”.
Tienes que encontrar esta ‘ instrucción ‘. (y esto solo se puede hacer a través de la práctica. ¡Practica y practica!)
- ¿Por qué muchos matemáticos también conocen psicología?
- ¿Todos los matemáticos y físicos como Euclid, Newton, Hawking, Einstein, etc., tuvieron que memorizar muchas fórmulas antes de presentar todas sus pruebas?
- Cómo calcular [matemáticas] (3-4i) ^ {1 + i} [/ matemáticas] en forma normal [matemáticas] z = x + iy [/ matemáticas] y en la representación exponencial [matemáticas] z = \ izquierda | z \ right | \ exp (i \ arg (z)) [/ math]
- ¿Cuál es la diferencia entre una definición y un teorema?
- ¿Cuáles son algunas aplicaciones interesantes de las matemáticas?
Ejemplos:
1) n!
largo hecho largo (largo largo n)
{
if (n == 0) devuelve 1;
else return (n * fact (n-1));
}
2) verifica la prima
bool isPrime (int p, int i = 2)
{
si (i == p) devuelve 1;
if (p% i == 0) devuelve 0;
return isPrime (p, i + 1);
}