Maison >développement back-end >Problème PHP >Comment obtenir un triangle Yang Hui de 10 lignes via un programme PHP
Ceux qui ont appris des langages de programmation ou des algorithmes entreront forcément en contact avec le Triangle de Yang Hui (l'un des résultats de recherche exceptionnels sur les mathématiques chinoises anciennes). Ce n'est pas profond en soi. Aujourd'hui, nous allons utiliser PHP pour écrire un programme permettant de générer un triangle Yang Hui avec 4 lignes et 3 colonnes.
Tout d’abord, comprenons le Triangle Yang Hui.
Le triangle de Yang Hui est un arrangement géométrique des coefficients binomiaux de Newton dans un triangle. Chaque nombre qu'il contient est égal à la somme des deux nombres ci-dessus.
Nous pouvons facilement trouver le motif à partir de l'image ci-dessus :
Les éléments avant et après chaque rangée sont 1
Il y a plusieurs éléments dans quelle rangée
À partir de la troisième rangée , À l'exception du début et de la fin de chaque ligne, un élément sur deux est la somme des deux éléments adjacents ci-dessus (le nombre à la même position dans la ligne précédente + la somme du chiffre précédent à la même position dans la ligne précédente)
J'ai trouvé le modèle, nous pouvons définir l'algorithme, puis définir le programme en fonction de l'algorithme (cet article utilise un tableau + une double imbrication de boucles for pour implémenter le triangle de Yang Hui. Si vous ne connaissez pas les boucles for, vous pouvez consulter "PHP Loop Learning 3 : Comment utiliser les instructions de boucle" Traversée du tableau》)
Analyse d'algorithme : il existe un tableau de i lignes et j colonnes (j est inférieur ou égal à i)
Double boucle for, le premier niveau de boucle traverse la ligne i du tableau ; le deuxième niveau de boucle traverse la colonne j du tableau. Et la valeur de la colonne j du tableau doit être inférieure ou égale à la valeur de la ligne i du tableau
L'instruction if est utilisée dans le corps de la boucle de deuxième niveau pour porter un jugement lorsque j=1.
ou i=j code>, la valeur est <code>$array[i][j] = 1
j=1
或者 i=j
时,值为$array[i][j] = 1
;
而其他时候, $array[i][j]
= $array[ i-1 ][ j-1 ]
+$array[ i-1 ][ j ]
et d'autres fois, $ ; array[i][j]
= $array[ i-1 ][ j-1 ]+$array[ i-1 ][ j ]
<?php function yh_put($max) { $array = []; // 循环列数 for($i = 1; $i <= $max; $i++) { // 循环行数 for( $j=1; $j <= $i; $j++) { // 每行的第一个和最后一个都是1 if( $j == 1 || $j == $i ) { echo $array[$i][$j] = 1; } else { // 上一行同位置的数 + 上一行同位置的前一位数之和 echo $array[$i][$j] = $array[ $i-1 ][ $j-1 ]+$array[ $i-1 ][ $j ]; } echo " "; } echo "<br>"; } unset($array); } yh_put(10);Le résultat de sortie est :
D'accord, c'est tout Si vous voulez savoir autre chose, vous pouvez cliquer ici. → →Tutoriel vidéo php
🎜Enfin, je recommande un tutoriel vidéo gratuit sur les tableaux PHP : 🎜Explication vidéo de la fonction tableau de fonctions PHP🎜, venez apprendre ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!