Heim >Backend-Entwicklung >PHP-Problem >So erhalten Sie mit einem PHP-Programm ein Yang-Hui-Dreieck mit 10 Linien

So erhalten Sie mit einem PHP-Programm ein Yang-Hui-Dreieck mit 10 Linien

青灯夜游
青灯夜游Original
2021-08-10 12:13:393828Durchsuche

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.

So erhalten Sie mit einem PHP-Programm ein Yang-Hui-Dreieck mit 10 Linien

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 ]

Schauen wir uns den PHP-Programmcode an, der die Funktion implementiert:

<?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:


So erhalten Sie mit einem PHP-Programm ein Yang-Hui-Dreieck mit 10 Linien

Okay, das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →

php-Video-Tutorial

Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays:

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn