El triángulo de Pascal es una array triangular de los coeficientes binomiales. Escriba una función que tome un valor entero n como entrada e imprima las primeras n líneas del triángulo de Pascal. Las siguientes son las primeras 6 filas del Triángulo de Pascal. En este artículo, veremos el proceso de impresión del triángulo de Pascal. El triángulo de Pascal es un patrón del triángulo que se basa en nCr. A continuación se muestra la representación pictórica del triángulo de Pascal.
Ilustración:
Input : N = 5 Output: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
Métodos:
Hay dos enfoques para lo mismo. Echémosles un vistazo.
- Usando la fórmula nCr
- Uso del coeficiente binomial
Método 1: usando la fórmula nCr
Implementación: siga el siguiente algoritmo para imprimir el triángulo de Pascal usando la fórmula nCr
- Sea n el número de filas a imprimir
- Use la iteración externa a de 0 a k veces para imprimir las filas
- Haga una iteración interna para b de 0 a (K – 1).
- Luego imprima el espacio como ” “.
- Cierra el bucle ‘b’ interior.
- Haga una iteración interna para b de ‘0’ a ‘a’.
- Salida nCr de ‘a’ y ‘b’.
- Cierra el bucle interior.
- Imprime el carácter de nueva línea (\n) después de cada iteración interna.
Ejemplo
Java
// Java Program to Print Pascal's Triangle // Importing input output classes import java.io.*; // Main Class public class GFG { // Method 1 // To find factorial of a number public int factorial(int a) { // Edge case // Factorial of 0 is unity if (a == 0) // Hence return 1 return 1; // else recursively call the function over the // number whose factorial is to be computed return a * factorial(a - 1); } // Method 2 // Main driver method public static void main(String[] args) { // Declare and initialize number whose // factorial is to be computed int k = 4; int a, b; // Creating an object of GFG class // in the main() method GFG g = new GFG(); // iterating using nested for loop to traverse over // matrix // Outer for loop for (a = 0; a <= k; a++) { // Inner loop 1 for (b = 0; b <= k - a; b++) { // Print white space for left spacing System.out.print(" "); } // Inner loop 2 for (b = 0; b <= a; b++) { // nCr formula System.out.print( " " + g.factorial(a) / (g.factorial(a - b) * g.factorial(b))); } // By now, we are done with one row so // a new line System.out.println(); } } }
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Método 2: Uso del coeficiente binomial
La entrada ‘A’ en una línea numérica es el coeficiente binomial C(línea, a) y todas las líneas comienzan con el valor 1. La idea es calcular C(línea, a) usando C(línea, a-1).
C(line, i) = C(line, i-1) * (line - i + 1) / i
Implementación:
Ejemplo
Java
// Java Program to Print Pascal's Triangle // Importing input output classes import java.io.*; // Main Class public class GFG { // Method 1 // Pascal function public static void printPascal(int k) { for (int line = 1; line <= k; line++) { for (int b = 0; b <= k - line; b++) { // Print whitespace for left spacing System.out.print(" "); } // Variable used to represent C(line, i) int C = 1; for (int a = 1; a <= line; a++) { // The first value in a line is always 1 System.out.print(C + " "); C = C * (line - a) / a; } // By now, we are done with one row so // a new line is required System.out.println(); } } // Method 2 // Main driver method public static void main(String[] args) { // Declare and initialize variable number // upto which Pascal's triangle is required on // console int n = 6; // Calling the Pascal function(Method 1) printPascal(n); } }
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
Complejidad del tiempo : O (n ^ 2) donde n se ingresa para el número de filas del triángulo pascal
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por ddeevviissaavviittaa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA