Java >> Tutoriel Java >  >> Java

Pascal Triangle en Java

Pascal Triangle en Java | Le triangle de Pascal est un tableau triangulaire de coefficients binomiaux. Dans le triangle de pascal, chaque nombre est la somme des deux nombres directement au-dessus.

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

Programme Pascal Triangle en Java sans utiliser de tableau

Après observation, nous pouvons conclure que le pascal commence toujours par 1 et que les chiffres suivants dans la ligne donnée peuvent être calculés comme suit :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();
      }
   }
}

Sortie pour différentes valeurs :-

Entrez le nombre de lignes ::5
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

Entrez le nombre de lignes ::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 en Java au centre de l'écran

On peut afficher le triangle pascal au centre de l'écran. Pour cela, il suffit d'ajouter les espaces avant d'afficher chaque ligne. Généralement, sur un écran d'ordinateur, on peut afficher un maximum de 80 caractères horizontalement. La moitié de 80 est 40, donc la 40e place est le centre de la ligne.

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();
   }
}

Sortie :-

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 en Java utilisant un tableau à deux dimensions

En utilisant un tableau bidimensionnel Java, nous pouvons trouver des éléments de tableau comme,

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

Pour la première et la dernière colonne, l'élément du tableau est 1, et pour les éléments restants, c'est la somme des deux nombres directement au-dessus. La méthode Java peut être écrite comme,

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();
   }
}

Sortie :-

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

Balise Java