ホームページ バックエンド開発 PHPの問題 Yang Hui の二等辺三角形を PHP で実現する方法

Yang Hui の二等辺三角形を PHP で実現する方法

Apr 24, 2023 am 10:51 AM

Yang Hui 二等辺三角形は数学の古典的な図形の 1 つで、美しい外観を備えているだけでなく、優れた数学的性質も備えており、さまざまな分野で広く使用されています。コンピューター プログラミングでは、さまざまな言語を使用して Yang Hui の二等辺三角形生成アルゴリズムを実装することもできますが、この記事では、PHP 言語を使用して Yang Hui の二等辺三角形生成アルゴリズムを実装する方法を紹介します。

  1. 楊輝の二等辺三角形の概念

楊輝の二等辺三角形はパスカルの三角形とも呼ばれ、数字で構成された三角形です。一番上に数字の1を書きます。三角形の下の行の各数値は、その上の 2 つの数値とその下の行の 2 つの数値の合計です。また、各行の両端は 1 になります。

以下は楊輝の二等辺三角形の例です:

       1
      1 1
     1 2 1
    1 3 3 1
  1 4  6  4 1
1 5 10 10 5 1
ログイン後にコピー

このうち、n行目のk番目の数はCombination(n-1, k-1)と表すことができます。は、n- 1 つの数字から k-1 個の数字の組み合わせの数を選択します。したがって、楊輝の二等辺三角形は組み合わせ論でも広く使用されています。

  1. PHP を使用して Yang Hui の二等辺三角形を実現する

PHP では、ループ ステートメントと配列を使用して Yang Hui の二等辺三角形を生成できます。具体的な実装方法は次のとおりです。

<?php
function generatePascalTriangle($numRows) {
  $triangle = [];
  if ($numRows > 0) {
    $triangle[] = [1];
    for ($i = 1; $i < $numRows; $i++) {
      $row = [$triangle[$i - 1][0]];
      for ($j = 1; $j < $i; $j++) {
        $row[] = $triangle[$i - 1][$j - 1] + $triangle[$i - 1][$j];
      }
      $row[] = $triangle[$i - 1][$i - 1];
      $triangle[] = $row;
    }
  }
  return $triangle;
}
ログイン後にコピー

上記のコードでは、まず、generatePascalTriangle という関数を定義します。この関数は、生成する必要がある Yang Hui の二等辺三角形の行数を示すパラメーター $numRows を受け取ります。 。次に、各行に数値を格納する $triangle という名前の配列を作成します。

$numRows が 0 より大きい場合、最初の行の数値 1 を $triangle に追加します。次に、ループ ステートメントを使用して 2 行目から開始し、各走査で数値の行が生成され、それらが $triangle に追加されます。数値の各行を生成するプロセスでは、別のループ ステートメントを使用し、前の行の数値を使用して現在の行の数値を計算します。具体的には、まず現在の行の最初の番号、つまり $triangle[$i - 1][0] を使用し、次に現在の行の中央の番号、つまり $triangle[$i - ] を順に計算します。 1][$j - 1] $triangle[$i - 1][$j]、最後に現在の行の最後の番号 $triangle[$i - 1][$i - 1] を追加します。最後に、現在の行の番号 $row を取得し、それを $triangle に追加します。最後に、関数は $triangle 配列を返し、生成は完了します。

上記の関数を使用して Yang Hui の二等辺三角形を生成する場合、$numRows を任意の正の整数に設定して、Yang Hui の二等辺三角形を生成する行数を制御できます。同時に、二重ループを使用して、生成された数値をグラフィックに出力することで、Yang Hui の二等辺三角形の美しい外観を表現できます。

以下は、上記の関数を使用して生成された Yang Hui の二等辺三角形の例です。

$numRows = 6;
$triangle = generatePascalTriangle($numRows);
for ($i = 0; $i < $numRows; $i++) {
  for ($j = 0; $j <= $i; $j++) {
    echo $triangle[$i][$j] . " ";
  }
  echo "<br>";
}
ログイン後にコピー

上記のコードでは、まず $numRows を 6 に設定します。これは、6 行の数値が必要であることを示しています。生成される。次に、generatePascalTriangle 関数を使用して Yang Hui の二等辺三角形を生成し、二重ループを使用して $triangle 配列を走査し、数値をグラフィック形式で出力します。

1 
1 1 
1 2 1 
1 3 3 1 
1 4 6 4 1 
1 5 10 10 5 1
ログイン後にコピー
  1. 概要

この記事では、Yang Hui の二等辺三角形の概念と組み合わせ数学におけるその応用について紹介します。また、PHP 言語を使用して Yang Hui の二等辺三角形生成アルゴリズムを実装することも紹介しました。この記事の導入により、読者は配列とループ ステートメントを使用してヤン ホイの二等辺三角形を生成する方法を学び、配列とループ ステートメントを適用して他の同様の問題を解決することもできます。

以上がYang Hui の二等辺三角形を PHP で実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

最新のPHPコーディング基準とベストプラクティスは何ですか? 最新のPHPコーディング基準とベストプラクティスは何ですか? Mar 10, 2025 pm 06:16 PM

この記事では、PSRの推奨事項(PSR-1、PSR-2、PSR-4、PSR-12)に焦点を当てた現在のPHPコーディング基準とベストプラクティスを検証します。 一貫したスタイリング、意味のある命名、EFFを通じてコードの読みやすさと保守性を改善することを強調しています

PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? PHPにメッセージキュー(rabbitmq、redis)を実装する方法は? Mar 10, 2025 pm 06:15 PM

この記事では、RabbitMQとRedisを使用してPHPでメッセージキューを実装する詳細を示します。 それは、それらのアーキテクチャ(AMQP対インメモリ)、機能、および信頼性メカニズム(確認、トランザクション、永続性)を比較します。デザインのベストプラクティス、エラー

PHP拡張機能とPECLを使用するにはどうすればよいですか? PHP拡張機能とPECLを使用するにはどうすればよいですか? Mar 10, 2025 pm 06:12 PM

この記事では、PHP拡張機能のインストールとトラブルシューティングの詳細で、PECLに焦点を当てています。 インストール手順(検索、ダウンロード/コンパイル、サーバーの再起動、再起動)、トラブルシューティングテクニック(ログのチェック、インストールの確認、

リフレクションを使用してPHPコードを分析および操作する方法は? リフレクションを使用してPHPコードを分析および操作する方法は? Mar 10, 2025 pm 06:12 PM

この記事では、PHPの反射APIについて説明し、クラス、方法、およびプロパティのランタイム検査と操作を可能にします。 一般的なユースケース(ドキュメンテーション生成、ORM、依存関係注入)とパフォーマンスオーバーヘアに対する注意の詳細

PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 PHP 8 JIT(Just-in-Time)コンピレーション:パフォーマンスの向上方法。 Mar 25, 2025 am 10:37 AM

PHP 8のJITコンピレーションは、頻繁に実行されるコードをマシンコードにコンパイルし、重い計算でアプリケーションに利益をもたらし、実行時間を短縮することにより、パフォーマンスを向上させます。

PHPエコシステムとコミュニティを最新の状態に保つにはどうすればよいですか? PHPエコシステムとコミュニティを最新の状態に保つにはどうすればよいですか? Mar 10, 2025 pm 06:16 PM

この記事では、PHPエコシステムに最新の状態を維持するための戦略を探ります。 公式チャンネル、コミュニティフォーラム、会議、オープンソースの貢献を利用することを強調しています。 著者は、新機能と

非ブロッキング操作にPHPで非同期タスクを使用する方法は? 非ブロッキング操作にPHPで非同期タスクを使用する方法は? Mar 10, 2025 pm 04:21 PM

この記事では、Webアプリケーションの応答性を高めるために、PHPでの非同期タスクの実行について説明します。 メッセージキュー、非同期フレームワーク(Reactphp、Swoole)、およびバックグラウンドプロセスなどの方法を詳しく説明し、Efficienのベストプラクティスを強調しています

PHPでメモリ最適化手法を使用する方法は? PHPでメモリ最適化手法を使用する方法は? Mar 10, 2025 pm 04:23 PM

この記事では、PHPメモリの最適化について説明します。 適切なデータ構造を使用し、不必要なオブジェクトの作成を回避し、効率的なアルゴリズムを採用するなどの手法について詳しく説明しています。 一般的なメモリリークソース(例:除去されていない接続、グローバルv

See all articles