elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Temas
Páginas: [1]
1  Programación / Programación General / Ejercicios Recursividad muy completos con solución MATLAB en: 16 Diciembre 2019, 10:23 am
Hola, os traigo un listado de ejercicios de recursividad con su solución. A nivel de recursividad es muy importante conocer su funcionamiento baso en fórmulas recursivas y casos bases. Estos ejercicios son ideales para exámenes de cualquier asignatura de programación.


EJERCICIO 1: MCD EUCLIDES RECURSIVO

Dados 2 números enteros positivos m y n, tal que m>n, para encontrar su máximo común divisor (mayor entero positivo que divide a ambos):

•   Dividir m por n para obtener el resto r (0 <= r <n)
•   Si r=0, el MCD es m
•   Sino, el máximo común divisor es MCD(n,r)
_________________________________________
SOLUCIÓN

function r = MCD_Euclides_rec (a,b)

    if (b == 0)
        r = a;
    else
        r = MCD_Euclides_rec(b, rem(a,b));
    end
end




EJERCICIO 2: POTENCIA RECURSIVA

Programar un algortimo recursivo que calcule la potencia de un número elevado a un exponente determinado.
Ejemplo: potencia_rec(2,3) devolverá como resultado 8

____________________________________________
SOLUCIÓN

function n = potencia_rec(b,e)
    if(e==0)
        n=1;
    elseif (e==1)
        n=b;
   
    %FÓRMULA RECURSIVA
    else
        n = b*potencia_rec(b,e-1);
    end
end

EJERCICIO 3: SUCESIÓN DE JACOBSTHAL

Programar un algoritmo recursivo que permita calcular la sucesión de Jacobsthal (más info en Wikipedia)
_______________________________________
SOLUCIÓN

function m = jacobsthal(n)
    if n==0
        m=0
    elseif n==1
        m=1
    else
        m=jacobsthal(n-1)+2*jacobsthal(n-2);
    end

end

EJERCICIO 4: NÚMERO DE FRANÇOIS É. ANATOLE LUCAS

Realizar la implementación de un algoritmo recursivo que permita obtener el número de François É. Anatole Lucas dada una posición concreta. De manera similar a los números de Fibonacci, cada número de Lucas se define como la suma de sus dos inmediatos anteriores, formando así una secuencia de enteros de Fibonacci. Los dos primeros números Lucas son L0 = 2 y L1 = 1 en contraposición a los dos primeros números de Fibonacci que son F0 = 0 y F1 = 1. Aunque estrechamente relacionado en la definición, los números de Lucas y de Fibonacci presentan propiedades distintas.

La secuencia de números Lucas es: 2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123

Por tanto, si el programa toma un 0, la salida será 2; si toma un 1, será 1; si toma un 2, será 3.

_____________________
SOLUCIÓN

Idem que fibonacci cambiando los casos base
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines