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. COMO PUEDO HACER ESO EN PSEINT

    ResponderBorrar
    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