ホームページ > バックエンド開発 > PHPの問題 > PHP プログラムを通じて 10 行のヤン ホイ三角形を取得する方法

PHP プログラムを通じて 10 行のヤン ホイ三角形を取得する方法

青灯夜游
リリース: 2023-03-12 06:02:01
オリジナル
3842 人が閲覧しました

プログラミング言語やアルゴリズムを学んだことのある人は、必ず楊輝三角形 (古代中国数学の優れた研究成果の 1 つ) に触れるはずです。それ自体は深いことではありませんが、今日は PHP を使用して、4 行 3 列の楊輝三角形を出力するプログラムを作成します。

まず、陽輝トライアングルを理解しましょう。

Yang Hui の三角形は、三角形内にニュートンの二項係数を幾何学的に配置したもので、その中の各数値は上記の 2 つの数値の合計に等しくなります。

PHP プログラムを通じて 10 行のヤン ホイ三角形を取得する方法

上の図からパターンを簡単に見つけることができます:

  • 各行の前後の要素は 1

  • どの行にも複数の要素があります

  • 3 行目から始まり、各行の先頭と末尾を除き、1 つおきの要素になりますは上です 隣接する 2 つの要素の合計 (前の行の同じ位置にある数値と、前の行の同じ位置にある前の数字の合計)

パターンを設定したら、アルゴリズムを設定します。次に、アルゴリズムに従ってプログラムを設定します (この記事では、配列 double の for ループのネストを使用して、Yang Hui の三角形を実装します。for ループについて知らない場合は、「」を確認してください。 PHP ループ学習 3: for ループ ステートメントを使用して配列を走査する方法" )

アルゴリズム分析: 行 i と列 j を持つ配列があります (j は i 以下です)

  • Double for ループ (ループの最初のレベル) は配列の行 i を横断し、ループの 2 番目のレベルは配列の列 j を横断します。また、配列の j 列の値は、配列の i 行の値以下である必要があります。

  • 第 2 レベルのループ本体で if ステートメントを使用して判断します。 j=1 または i=j の場合、値は $array[i][j] = 1;

  • ## およびその他の場合は、

    $array[i][j] = $array[ i-1 ][ j-1 ] $array[ i- 1 ][ j ]

関数を実装する PHP プログラム コードを見てみましょう:

<?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);
ログイン後にコピー

出力結果は次のとおりです:


PHP プログラムを通じて 10 行のヤン ホイ三角形を取得する方法

わかりました。他に知りたいことがあれば、ここをクリックしてください。 → →

php ビデオ チュートリアル

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。

PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。

以上がPHP プログラムを通じて 10 行のヤン ホイ三角形を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート