CCCPaste

EDA Lab #10-1

#include 
#include 

int pascal(int fila, int columna) {
    if (columna == 0 || columna == fila) {
        return 1;
    }
    return pascal(fila - 1, columna - 1) + pascal(fila - 1, columna);
}

void imprimirTrianguloPascal(int numFilas) {
    int i, j;
    
    for (i = 0; i < numFilas; i++) {
        for (j = 0; j < numFilas - i - 1; j++) {
            printf("   ");
        }
        
        for (j = 0; j <= i; j++) {
            printf("%4d  ", pascal(i, j));
        }
        printf("\n");
    }
}

int main() {
    int numFilas;

    printf("Ingrese el numero de filas para el Triangulo de Pascal: ");
    scanf("%d", &numFilas);
    printf("\n");
    
    if (numFilas > 0 && numFilas <= 20) { // n=34 ya tiene overflow, 20 parece amigable
        imprimirTrianguloPascal(numFilas);
    } else {
        printf("Por favor ingrese un numero entre 1 y 20");
    }
    
    return 0;
}