Programa Java para imprimir el triángulo de Star Pascal

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.

  1. Usando la fórmula nCr
  2. 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();
        }
    }
}
Producción

      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);
    }
}
Producció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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *