El programa fuente revela
Propiedades del triángulo de Yang Hui:
Cada fila de números es simétrica izquierda y derecha, a partir de 1 gradualmente se hace más grande, luego se hace más pequeño y vuelve a 1.
El número de números en la línea n es n.
La suma de los números en la línea n es 2^(N-1).
Cada número es igual a la suma de los números izquierdo y derecho de la línea anterior. Esta propiedad se puede usar para escribir todo el triángulo Yang Hui.
El primer número en la línea N es 1, el segundo número es 1 × (N-1), el tercer número es 1 × (N-1) × (N-2) /2, y el cuarto número es
1 × (N-1) × (N-2) /2 × (N-3) /3 ... y así sucesivamente.
Algoritmo Principio 1:
Use una matriz bidimensional YH [] [] para almacenar los datos del triángulo Yang Hui. El tamaño de las filas y las columnas es el número de filas que deben salirse (la fila es 10 en este programa).
Use el bucle for para hacer el número, excepto la capa más externa (excluyendo el borde inferior del triángulo Yang hui) en el triángulo Yang Hui es 1;
Use la declaración yh [i] [j] = yh [i - 1] [j - 1] + yh [i - 1] [j] para hacer los datos en la columna j de la fila j igual a la suma de los datos en la columna (j -1) de la fila (i -1) y la columna (j) de la fila (i -1), es decir, cada número es igual a la suma de los dos números de izquierda y correcta de la fila anterior.
paquete com.work; clase pública yanghuisanjiao {public static void main (string [] args) {int [] [] a = new int [10] [10]; para (int n = 0; n <10; n ++) {a [n] [0] = 1; a [n] [n] = 1; } para (int n = 2; n <10; n ++) {for (int j = 1; j <n; j ++) {a [n] [j] = a [n -1] [j -1]+a [n -1] [j]; }} para (int n = 0; n <10; n ++) {for (int k = 0; k <2 * (10 - n) - 1; k ++) {system.out.print (""); } para (int j = 0; j <= n; j ++) {system.out.print (a [n] [j]+""); } System.out.println (); }}}Método 2
paquete com.face; import java.util.scanner; clase pública yanghui {public static void main (string [] args) {printyftriangle (); } <Precode_snippet_id = "2474965" fnippet_file_name = "Blog_20170708_2_9005712" name = "code"> <code> <span>/** * 1 Para comprender la siguiente implementación, primero debe comprender que el valor predeterminado de los elementos en el introducto int 0 * 2 luego cada vez que usted es el elemento nuevo de un elemento de nuevo: * El elemento original en esa posición + el valor de la posición anterior de esta posición*/</span> </code> </pre> public static void printyftriangle () {System.out.println ("Yang Hui Triangle, el número de líneas que está preparando para salir:"); Entrada del escáner = nuevo escáner (System.in); int líneas = input.nextInt (); // Obtenga el número de líneas del bucle; int [] a = new int [líneas + 1]; // almacenar datos temporalmente; int anterior = 1; // primer número predeterminado; para (int i = 1; i <= líneas; i ++) {// i se usa para controlar el número de líneas; for (int j = 1; j <= líneas-i; j ++) {// espacio de salida, muy fácil; System.out.print (""); } for (int j = 1; j <= i; j ++) {int curt = a [j]; // Obtenga el siguiente número primero, a [j] = anterior+current; anterior = corriente; System.out.print (a [j] + ""); } System.out.println (); }}}Método 3: Implementación recursiva
paquete com.face; import java.util.scanner; clase pública digui {static int divert (int n, int k) {// n, fila, k: columna 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 líneas; System.out.println ("Ingrese el número de líneas:"); Entrada del escáner = nuevo escáner (System.in); líneas = input.nextInt (); para (int i = 1; i <= líneas; i ++) {for (int k = 1; k <line-i+1; k ++) {system.out.print (""); } para (int j = 1; j <= i; j ++) {system.out.print (diversión (i, j)+""); } System.out.println (); }}}Ingrese el número de líneas:
6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Compartamos otro ejemplo:
/*** Imprima el triángulo yanghui (triángulo Pascal), imprima 10 líneas**/clase pública yanghuisanjiao {public static void main (string [] args) {int [] [] a = nuevo int [11] [11]; para (int i = 0; i <10; i ++) {a [i] [0] = 1; a [i] [i] = 1; } para (int i = 1; i <10; i ++) {for (int j = 1; j <i; j ++) {a [i] [j] = a [i-1] [j-1]+a [i-1] [j]; }} para (int i = 0; i <10; i ++) {for (int j = 0; j <10-i; j ++) {system.out.print (""); } para (int k = 0; k <10; k ++) {if (a [i] [k]! = 0) {System.out.print (a [i] [k]+""); }} System.out.println (); }}}resultado:
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
Resumir
Lo anterior tiene que ver con los ejemplos de programación Java para implementar el código Pascal Triangle, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!