/*
 * TrianguloPascal.java
 *
 * Created on March 26, 2003, 7:44 AM
 */

/**
 * Clase que calcula un triangulo de Pascal para calcular
 * los terminos de un polinomio a la potencia N
 * @author  do008548
 */
public class TrianguloPascal {
    int [] [] triangulo;
    /** Creates a new instance of TrianguloPascal */
    public TrianguloPascal(int maximaPotencia) {
        triangulo = new int[maximaPotencia+1][];
        //iniciar la estructura de datos
        for (int i=0;i<triangulo.length;i++) {
            triangulo[i] = new int[i+1];
        }//for
    }//TrianguloPascal
    void calcular() {
        for (int i=0;i<triangulo.length;i++) {
            if (i==0){ triangulo[i][0] = 1;
            } else {
                //extremos a 1
                triangulo[i][0] =1;
                int limite = triangulo[i].length;
                triangulo[i][limite-1] =1;
                for ( int j=1;j<(limite-1);j++) {
                    triangulo[i][j]= triangulo[i-1][j-1]+
                    triangulo[i-1][j];
                }//for
            }//if
        }//for
    }
    int[] coeficientes(int potencia) {
        if (potencia>=0 && potencia<=(triangulo.length) ) {
          return triangulo[potencia];     
        }
        return null;
    }
}











