Le programme source révèle
Propriétés du triangle de Yang Hui:
Chaque rangée de nombres est symétrique à gauche et à droite, à partir de 1 progressivement plus grand, puis de devenir plus petit et de revenir à 1.
Le nombre de nombres en ligne n est n.
La somme des nombres sur la ligne n est 2 ^ (n-1).
Chaque nombre est égal à la somme des nombres gauche et droit de la ligne précédente. Cette propriété peut être utilisée pour écrire l'intégralité du triangle Yang Hui.
Le premier nombre en ligne n est 1, le deuxième nombre est 1 × (n-1), le troisième nombre est 1 × (n-1) × (n-2) / 2, et le quatrième nombre est
1 × (n-1) × (n-2) / 2 × (n-3) / 3… et ainsi de suite.
Algorithme Principe 1:
Utilisez un tableau bidimensionnel YH [] [] pour stocker les données du triangle Yang Hui. La taille des lignes et des colonnes est le nombre de lignes qui doivent être sorties (la ligne est 10 dans ce programme).
Utilisez la boucle pour faire le nombre sauf la couche la plus externe (à l'exclusion du bord inférieur du triangle Yang Hui) dans le triangle Yang Hui est de 1;
Utilisez l'instruction yh [i] [j] = yh [i - 1] [j - 1] + yh [i - 1] [j] pour faire les données de la colonne j de la ligne j égale à la somme des données de la colonne (J-1) de la ligne (i-1) et de la colonne (j) de la ligne précédente (i-1), c'est-à-dire, chaque numéro est égal à la somme des deux numéros gauche et de la ligne précédente.
package com.work; classe publique YanghUisanjiao {public static void main (String [] args) {int [] [] a = new int [10] [10]; pour (int n = 0; n <10; n ++) {a [n] [0] = 1; a [n] [n] = 1; } pour (int n = 2; n <10; n ++) {pour (int j = 1; j <n; j ++) {a [n] [j] = a [n -1] [j -1] + a [n - 1] [j]; }} pour (int n = 0; n <10; n ++) {pour (int k = 0; k <2 * (10 - n) - 1; k ++) {System.out.print (""); } pour (int j = 0; j <= n; j ++) {System.out.print (a [n] [j] + ""); } System.out.println (); }}}Méthode 2
package com.face; import java.util.scanner; classe publique yanghui {public static void main (String [] args) {prityftriangle (); } <pre code_snippet_id = "2474965" snippet_file_name = "blog_20170708_2_9005712" name = "code"> <code> <span> / ** * 1 pour comprendre l'implémentation suivante L'élément d'origine de cette position + la valeur de la position précédente de cette position * / </span> </code> </pre> public static void prityftriangle () {System.out.println ("Yang Hui triangle, le nombre de lignes que vous préparez à sortir:"); Entrée du scanner = nouveau scanner (System.in); int Lines = input.nextint (); // Obtenez le nombre de lignes de la boucle; int [] a = new int [lignes + 1]; // stocker temporairement les données; int précédent = 1; // le premier numéro par défaut; pour (int i = 1; i <= lignes; i ++) {// i est utilisé pour contrôler le nombre de lignes; pour (int j = 1; j <= lignes-i; j ++) {// espace de sortie, très facile; System.out.print (""); } pour (int j = 1; j <= i; j ++) {int courant = a [j]; // Obtenez le numéro suivant en premier, a [j] = précédent + courant; Précédent = courant; System.out.print (a [j] + ""); } System.out.println (); }}}Méthode 3: implémentation récursive
package com.face; import java.util.scanner; classe publique Digui {static int fun (int n, int k) {// n, row, k: colonne if (k == 1 || n == k) return 1; Else Return Fun (N-1, K-1) + Fun (N-1, K); } public static void main (String [] args) {int Lines; System.out.println ("Veuillez saisir le nombre de lignes:"); Entrée du scanner = nouveau scanner (System.in); lines = input.nextint (); for (int i = 1; i <= lignes; i ++) {for (int k = 1; k <line-i + 1; k ++) {System.out.print (""); } pour (int j = 1; j <= i; j ++) {System.out.print (fun (i, j) + ""); } System.out.println (); }}}Veuillez saisir le nombre de lignes:
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Partageons un autre exemple:
/ ** * Imprimer le triangle yanghui (triangle Pascal), imprimer 10 lignes * * / classe publique yanghuisanjiao {public static void main (String [] args) {int [] [] a = new int [11] [11]; pour (int i = 0; i <10; i ++) {a [i] [0] = 1; a [i] [i] = 1; } pour (int i = 1; i <10; i ++) {pour (int j = 1; j <i; j ++) {a [i] [j] = a [i-1] [j-1] + a [i-1] [j]; }} pour (int i = 0; i <10; i ++) {pour (int j = 0; j <10-i; j ++) {System.out.print (""); } pour (int k = 0; k <10; k ++) {if (a [i] [k]! = 0) {System.out.print (a [i] [k] + ""); }} System.out.println (); }}}résultat:
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
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
Résumer
Ce qui précède concerne les exemples de programmation Java pour implémenter le code triangulaire Pascal, j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!