Java >> Java tutorial >  >> Java

Pascal Triangle i Java

Pascal Triangle i Java | Pascal trekant er en trekantet række af binomiale koefficienter. I pascals trekant er hvert tal summen af ​​de to tal direkte over det.

     1 
    1 1 
   1 2 1 
  1 3 3 1 
 1 4 6 4 1 

Pascal Triangle-program i Java uden at bruge et array

Efter observation kan vi konkludere, at pascal altid starter med 1 og næste cifre i den givne række kan beregnes som, number = previous_number_in_row * (row–column) / column

import java.util.Scanner;

public class PascalTriangle {

   public static void main(String[] args) {
      // take input
      Scanner scan = new Scanner(System.in);
      int n = 0;
      System.out.print("Enter Number of Rows:: ");
      n = scan.nextInt();
      displayPascalTriangle(n);
      scan.close();
   }

   private static void displayPascalTriangle(int n) {
      // temp variable
      int a = 0;

      // for negative numbers
      if(n <= 0)
      System.out.println("Enter Positive Number");

      for(int i=1; i <= n; i++) {
         // in each iteration start with 1
         a = 1;

         // print number
         for(int j = 1; j <= i; j++) {
            System.out.print(a + " ");
            // update variable
            a = a * (i-j) / j;
         }

         // new line
         System.out.println();
      }
   }
}

Output for forskellige værdier:-

Indtast antal rækker::5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

Indtast antal rækker::7
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

Pascal Triangle i Java i midten af ​​skærmen

Vi kan vise pascal trekanten i midten af ​​skærmen. Til dette skal du blot tilføje mellemrummene, før du viser hver række. Generelt kan vi på en computerskærm maksimalt vise 80 tegn vandret. Halvdelen af ​​80 er 40, så 40. pladsen er midten af ​​stregen.

private static void displayPascalTriangle(int n) {
   // temp variable
   int a = 0;

   // for negative numbers
   if(n <= 0)
   System.out.println("Enter Positive Number");

   for(int i=1; i <= n; i++) {
      // in each iteration start with 1
      a = 1;

      // add space
      for(int s=1; s <= (40 - i); s++)
      System.out.print(" ");

      // print number
      for(int j = 1; j <= i; j++) {
         System.out.print(a + " ");
         // update variable
         a = a * (i-j) / j;
      }

      // new line
      System.out.println();
   }
}

Output:-

Enter Number of Rows:: 5
     1 
    1 1 
   1 2 1 
  1 3 3 1 
 1 4 6 4 1 
Enter Number of Rows:: 7
       1 
      1 1 
     1 2 1 
    1 3 3 1 
   1 4 6 4 1 
  1 5 10 10 5 1
 1 6 15 20 15 6 1

Pascal Triangle i Java ved hjælp af To-dimensional Array

Ved at bruge Java to-dimensionelle array kan vi finde array-elementer som,

if(j==0 || j==i) pascal[i][j] = 1;
else
pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];

For den første og sidste kolonne er matrixelementet 1, og for de resterende elementer er det summen af ​​de to tal direkte over det. Java-metoden kan skrives som,

private static void displayPascalTriangle(int n) {
   // declare array 
   int pascal[][] = new int[n][n];

   for(int i=0; i < n; i++) {
      
      // add space
      for(int s=1; s <= (40 - i); s++)
      System.out.print(" ");

      for(int j = 0; j <= i; j++) {
         // calculate array elements
         if(j==0 || j==i) pascal[i][j] = 1;
         else 
         pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];

         // display array 
         System.out.print(pascal[i][j] +" ");
      }

      // new line
      System.out.println();
   }
}

Output:-

Enter Number of Rows:: 7
       1 
      1 1 
     1 2 1 
    1 3 3 1 
   1 4 6 4 1 
  1 5 10 10 5 1
 1 6 15 20 15 6 1

Java tag