Sucesión de Padovan en Java, MATLAB y PSeInt



Objetivos

  • Recursividad

Descripción

La sucesión de Padovan es la secuencia de números 
enteros P(n) definida por los siguientes valores iniciales

P(0)=P(1)=P(2)=1,

y la siguiente relación de recurrencia

P(n)=P(n-2)+P(n-3)


Crear un programa que calcule de forma recursiva los valores de la sucesión de Padovan para los números del 0 al 10

La salida del programa debe ser

1
1
1
2
2
3
4
5
7
9
12




Solución en Java


public class SucesionPadovan {

    
    public static void main(String[] args) {
        
        //calculamos la sucesion de Padovan
        //para los numeros del 0 al 10
        
        for(int i = 0; i <= 10; i++)
        {
           System.out.println(sucesionPadovan(i));
        }
    }

    //metodo recursivo que calcula la sucesion de Padovan
    static int sucesionPadovan(int n)
    {
        if(n == 0 || n == 1 || n == 2)
            return 1;
        else
            return sucesionPadovan(n-2) + sucesionPadovan(n-3);
    }
}



Solución en MATLAB


% calculamos la sucesion de Padovan
% para los numeros del 0 al 10
n = 10;

for i = 0:n    
 disp(sucesionPadovan(i));   
end

% funcion recursiva que calcula la sucesion de Padovan
function f = sucesionPadovan(n)
  if n == 0 || n == 1 || n == 2 
      f = 1;
  else
      f = sucesionPadovan(n-2) + sucesionPadovan(n-3);
  end
      
end



Solución en PSeInt


Proceso main
 //calculamos la sucesion de Padovan
 //para los numeros del 0 al 10
 
 Definir i como Entero;
 i <- 0;
 Repetir
  Escribir sucesion_padovan(i);
  i <- i + 1;
 Hasta Que i > 10;
FinProceso

//subproceso recursivo que calcula la sucesion de Padovan
SubProceso resultado <- sucesion_padovan(n)
    Definir resultado como Entero;
 Si n = 0 O n = 1 o n = 2 Entonces
  resultado <- 1;
 SiNo
  resultado <- sucesion_padovan(n-2) + sucesion_padovan(n-3);
 FinSi
FinSubProceso

Comentarios

  1. Respuestas
    1. Hola, puedes la versión para MATLAB aquí:
      https://cbinaria.blogspot.com/2019/01/sucesion-de-padovan-en-matlab.html

      Borrar
  2. No entendí ni un carajo de esa vaina de Patovan, mucha matemática...

    ResponderBorrar
  3. Respuestas
    1. Hola, puede ver la solución en PSeInt aquí:
      https://cbinaria.blogspot.com/2019/01/p0p1p21.html

      Borrar
  4. hola buen dia. como puedo hacer eso en c#?

    ResponderBorrar
    Respuestas
    1. Hola, envíame un mensaje con tu correo en el formulario de contacto y en cuanto tenga oportunidad te lo envío.

      Borrar

Publicar un comentario