La capacidad de pensar de forma recursiva es muy importante para los desarrolladores de software . Una rutina de software recursiva repite haciendo referencia a sí mismo en algún momento . Tal rutina tiene un caso base que termina la recursión y evita la rutina de llevar de forma indefinida . La mayoría de los programadores aprender cómo codificar la secuencia de Fibonacci cuando se enteran de la recursividad. Una serie muy similar de números es la Serie Lucas , y se puede resolver de forma recursiva así . La Serie Lucas comienza con los números 1 y 2 . Cada número subsiguiente en la serie es la suma de los dos anteriores - por ejemplo , el tercer número es 3 ( 1 2 ) , seguido por 4 ( 3 1 ) , seguido por 7 ( 4 3 ) , y así sucesivamente . Cosas que necesitará
C + + Compiler , como
GCC C + + IDE como Eclipse CDT
Mostrar más instrucciones
1
Inicie el IDE de C + + y crear un nuevo C + + archivo de código fuente .
2
Crear una función llamada lucas . La parte principal del programa se alimentará lucas un número y esperar lucas para pasar una serie de nuevo a él . Esta sintaxis se logra escribir algo como esto :
lucas int (int x )
{
}
3
Set el primer caso base. La primera hipótesis de base se produce cuando la entrada de número en la función lucas es 0. El resultado de esto está emitiendo el valor 2 al principal. Usted puede lograr esto mediante la adición de una sentencia "if" en el interior de las llaves de la función de lucas , así:
if ( x == 0 ) {return 2 ;}
4
Configure el segundo caso base. El segundo caso base se produce cuando la entrada de número en la función lucas es 1 . El resultado de esto está emitiendo el valor 1 a la principal. Usted puede escribir la "else - if" como este, por debajo del "if" en el paso 3 :
else if ( x == 1 ) {return 1 ;}
5 < p > Configurar la llamada recursiva . Esta convocatoria se llama a la función lucas sí dos veces más, sumando el resultado de los dos resultados anteriores en la serie de Lucas juntos. Esta llamada recursiva puede tener este aspecto , y se va por debajo de la declaración " if-else " en el paso 4 :
else { volver lucas (x - 1 ) + lucas (x - 2 ) ;}
6
Call lucas en la función principal. Usted pondrá su función principal debajo de la función lucas terminado, fuera de sus llaves. La principal función de la totalidad debería tener este aspecto :
int main () { int
y = lucas ( 7 ) ; cout << y << endl ; return 0 ;}
7
compilar y ejecutar este programa ( muchos entornos de desarrollo logran esto pulsando F5 ) . La salida del programa será los ocho primeros números de la serie de Lucas : . 2 , 1 , 3, 4 , 7, 11 , 18, 29