ホームページ >バックエンド開発 >PHPチュートリアル >JavaScript のヤン・フイ・トライアングルの例

JavaScript のヤン・フイ・トライアングルの例

WBOY
WBOYオリジナル
2016-07-25 09:12:591247ブラウズ

Yang Hui の三角形は、二項累乗展開の係数を計算するために不可欠なツールです。数値で配置された三角形の数表です。

効果は以下のとおりです。 JavaScript のヤン・フイ・トライアングルの例

情報: ヤン・ホイの三角形の n 行目の最初の数は 1、2 番目の数は 1×(n-1)、3 番目の数は 1×(n-1)×(n-2)/2 です。 4 番目の数は、1×(n-1)×(n-2)/2×(n-3)/3…などとなります。 ヤン・ホイの三角形のもう 1 つの重要な特徴は、各行の最初と最後の数字が両方とも 1 で、中央の数字が前の行の隣接する 2 つの数字の合計に等しいことです。通常、これが順列や組み合わせで使用されます。 : C(m,n) = C(m-1,n-1)+C(m-1,n) 上記のプロパティに基づいて、この関数を使用して、Yang Hui 三角形を簡単に計算できます。この関数は、取得する Yang Hui 三角形の行数を 1 つのパラメーターとして受け入れます。

  1. function Pascal(n){ //Yang Hui の三角形、N は行数です
  2. //
  3. }
コードをコピー

この関数でネストと外層に 2 つの for ループを使用しますループの数は行の数であり、内側のループは各行の各項目です。

  1. for( var i = 0 ; i for ( var j = 0 ; j }
  2. document.write("
    ")
コードをコピーそして、各行の各数値は組み合わせ番号 C(m,n) です。ここで、m は行番号 (0 から数えます)、n は行のシリアル番号 (0 から数えます)、つまり次のようになります。

document.write(Combination(i,j)+"  "); //引用符内の内容は 2 つの HTML スペース (  ) 文字です
  1. コードをコピーします
Combination(i,j) は組み合わせ数 C(m,n) = C(m-1,n-1)+C(m-1) の性質を利用した関数です。 ,n) このような機能を実現する最も効果的な方法は再帰です。

function Combination(m,n){
if(n == 0) return 1; //各行の最初の数値は 1 です
    else if(m == n) return 1; 1 つの数値は 1 です
  1. //残りは一緒に加算されます
  2. else return Combination(m-1,n-1)+Combination(m-1,n)
  3. }
  4. コードをコピーします
;

js打印杨辉三角の完整代コード:

  1. 文字列パス = request.getContextPath();
  2. StringbasePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  3. %>
  4. 杨辉三角
  5. createDate 2010-7-8
  6. author 旦旦而学
  7. --%>
  8. 杨辉三角--bbs.it-home.org
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。