¿Cómo escribir un programa recursivo para el triángulo de Yang Hui en lenguaje C?
Método 1: Escribir usando una matriz bidimensional.
Método 2: Utilizar una función personalizada.
En primer lugar, hay un número 1 en cada uno de los dos lados de la cintura del triángulo de la circunvolución Yang, y los números en otras posiciones son la suma de los dos números superiores. Cualquier fila del triángulo de circunvolución es un coeficiente binomial, n es el número de filas menos 1. n representa el número de filas menos 1, no el número de columnas. Por ejemplo: el tercer número de la quinta fila = 6.
Primero definiremos una matriz bidimensional: a[N][N], ligeramente mayor que el número de líneas a imprimir. a[i][0]=a[i][i-1]=1, n es el número de filas. Cualquier número que no sea los números de ambos lados es la suma de los dos números superiores, es decir, a[i][j]=a[i-1][j-1]+a[i-1][j] . Finalmente, genere el triángulo de la circunvolución yang.
El código de matriz bidimensional del método 1 es el siguiente: #include
Método 2: Código de función personalizada:
Cualquier número en el triángulo de Yang Hui es igual a un número combinado. #include
¿Igual que abajo? */float J(int i){?int j;?float k=1;?for(j=1;j<=i;j++)k=k*j;?return(k);}float C(int i,int j){ /*definir el número combinatorio */?float k;?k=J(j)/(J(i)*J(j-i));?return(k);}void main(){ ?int i=0,j,k,n; /*Imprimir triángulo Yang Hui*/? while(i<=0||i>16){printf("Ingrese el número de líneas para imprimir:");scanf (" %d",&i);?printf("%d línea del triángulo Yang Hui de la siguiente manera:\n",i);?for(j=0;j