Triángulo de Pascal centrado

De Ejercicios

Enunciado

Implementa una función que reciba como parámetro de entrada un número entero n y devuelva una matriz de n x (2n-1), que represente el triángulo de Pascal.

Ejemplo: si n=5, devolvería la matriz:

0 0 0 0 1 0 0 0 0
0 0 0 1 0 1 0 0 0
0 0 1 0 2 0 1 0 0
0 1 0 3 0 3 0 1 0
1 0 4 0 6 0 4 0 1

Para resolver el problema se parte de una matriz de ceros y se empieza poniendo un 1 en la posición central de la primera fila. Cada elemento del resto de filas se obtiene sumando los elementos que están a su izquierda y derecha en la fila de arriba.


Soluciones

Programa en Matlab

function t = triangPascal (n)
% FUNCION t = triangPascal (n)
% DESCRIPCIÓN: Calcula un triángulo de Pascal
% PARÁMETROS DE ENTRADA:
%   n: ENTERO; el número de filas de la matriz que guarda el triángulo
% PARÁMETROS DE SALIDA:
%   t: ARRAY BIDIMENSIONAL DE ENTERSO; la matriz guardando el triángulo
t = zeros (n,2*n-1);
t(1,n) = 1;
[nf,nc] = size(t);
for f = 2:nf
    for c = 1:nc
        if c > 1
            supizq = t(f-1,c-1);
        else
            supizq = 0;
        end
        if c < nc
            supder = t(f-1,c+1);
        else
            supder = 0;     
        end
        t(f,c) = supizq + supder;
    end
end
Tipos de soluciones