Up

パスカルの3角形

C++/Linuxプログラミング例

 

 2項係数の漸化式

をピラミッド型に表したパスカルの3角形を描くプログラムを以下のように作成した。

==============================================

#include <iostream>

#include <iomanip>

 

using namespace std;

 

int main(){

              const int max_n = 10;

              double ** C = new double*[max_n+1];

              for (int i = 0; i <= max_n; i++){

                            C[i] = new double[i+1];

                            for (int j = 0; j <= i; j++)

                                          if ((j == 0) || (j == i)){

                                                        C[i][j] = 1;

                                          }else{     //            Pascal's rule

                                                        C[i][j] = C[i-1][j-1] + C[i-1][j];

                                          }

              }

              //

              //            Pascal's triangle

              //

              cout << endl;

              for (int i = 0; i <= max_n; i++){

                            for (int j = 0; j < max_n-i; j++)

                                          cout << "   ";

                            for (int j = 0; j <= i; j++)

                                          cout << setw(6) << C[i][j];

                            cout << endl;

              }

              cout << endl;

              for (int i = 0; i <= max_n; i++)

                            delete [] C[i];

              delete [] C;

 

              return 0;

}

==============================================

上のプログラムを実行すると図1のようになる。

図1

 

 上の漸化式が

の関係で出力されている。

 プログラムは圧縮ファイルPascalTriangle.zipとして用意した。圧縮ファイル名PascalTriangle.zipをクリックしてダウンロードすることができる。

 

Up