Heim >Backend-Entwicklung >PHP-Problem >So erhalten Sie mit einem PHP-Programm ein Yang-Hui-Dreieck mit 10 Linien
Wer Programmiersprachen oder Algorithmen erlernt hat, kommt zwangsläufig mit dem Yang-Hui-Dreieck (einem der herausragenden Forschungsergebnisse der alten chinesischen Mathematik) in Berührung. Es selbst ist nicht tiefgreifend. Heute werden wir PHP verwenden, um ein Programm zur Ausgabe eines Yang-Hui-Dreiecks mit 4 Zeilen und 3 Spalten zu schreiben.
Lassen Sie uns zunächst das Yang-Hui-Dreieck verstehen.
Das Yang-Hui-Dreieck ist eine geometrische Anordnung der Newtonschen Binomialkoeffizienten in einem Dreieck. Jede Zahl darin ist gleich der Summe der beiden oben genannten Zahlen.
Wir können das Muster leicht aus dem obigen Bild finden:
Die Elemente vor und nach jeder Reihe sind 1
Es gibt mehrere Elemente in dieser Reihe
Ab der dritten Reihe Mit Ausnahme des Anfangs und des Endes jeder Zeile ist jedes andere Element die Summe der beiden oben genannten benachbarten Elemente (die Zahl an derselben Position in der vorherigen Zeile + die Summe der vorherigen Ziffer an derselben Position in der vorherigen Zeile).
Nachdem wir das Muster gefunden haben, können wir den Algorithmus festlegen und dann das Programm gemäß dem Algorithmus festlegen (in diesem Artikel wird die Verschachtelung von Array + Double-for-Schleifen verwendet, um das Dreieck von Yang Hui zu implementieren. Wenn Sie nichts über for-Schleifen wissen, sind Sie hier genau richtig Sie können sich „PHP Loop Learning 3: So verwenden Sie for-Schleifenanweisungen“ ansehen. Durchlaufen des Arrays》)
Algorithmusanalyse: Es gibt ein Array aus i Zeilen und j Spalten (j ist kleiner oder gleich i)
Doppelte for-Schleife, die erste Ebene der Schleife durchläuft Zeile i des Arrays; die zweite Ebene der Schleife durchläuft die Array-Spalte j. Und der Wert der Spalte j des Arrays muss kleiner oder gleich dem Wert der Zeile i des Arrays sein
Die if-Anweisung wird im Schleifenkörper der zweiten Ebene verwendet, um eine Beurteilung zu treffen, wenn j=1 ist
oder i=j code>, der Wert ist <code>$array[i][j] = 1
und in anderen Fällen $ array[i][j]
= $array[ i-1 ][ j-1 ]+$array[ i-1 ][ j ]
j=1
或者 i=j
时,值为$array[i][j] = 1
;
而其他时候, $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);Das Ausgabeergebnis ist:
PHP-Funktions-Array-Array-Funktions-Video-Erklärung, kommen Sie und lernen Sie!
Das obige ist der detaillierte Inhalt vonSo erhalten Sie mit einem PHP-Programm ein Yang-Hui-Dreieck mit 10 Linien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!