home about terms twitter

(なでしこ)パスカルの三角形を表示。

date: 2021-05-02 | mod: 2021-05-02

前書き

現在の日本の高校数学IIでは、教科書のはじめの方で「二項定理」を学びます。

二項定理とは、

$(a+b)^2 = a^2 + 2ab + b^2$

$(a+b)^3 = a^3 + 3a^2b + 3ab^2 + b^2$

のような多項式の展開(展開式)について、一般的に

$(a+b)^n = {}_n\mathrm{C}_ra^n + _{n}\mathrm{C}_1a^{n+1}b … _{n}\mathrm{C}_nb^{n}$

が成り立つことを言います。

二項定理に関連して、「パスカルの三角形」があります。

これは、多項式を展開した時の係数が三角形のような三角形を描き、またある係数がその上段の係数の和で描かれることに由来します。

今回は、日本語プログラミング言語「なでしこ」、およびそのウェブ版である「なでしこ3」を用います。

なでしこ3はウェブブラウザ上のWeb簡易エディタで実行可能です。

方法

!ここまでだるい

●階乗(i)
 もしiが0なら
  積は1
 違えば
  配列は[]
  jは0
  積は1
  1からiまで繰り返す
   j = j+1
   積=積×j。
   配列に積を配列追加。
 積で戻る。

●二項係数(n)
 配列は[]
 rで0からnまで繰り返す。
  もしrが0なら
   係数は1
  もしrがnなら
   係数は1
  違えば
   係数は階乗(n)/(階乗(n-r)×階乗(r))。
  配列に係数を配列追加。
 配列で戻る。

pで0から10まで繰り返す。
 二項係数(p)を表示。

「ここまで」を省略するために、「!ここまでだるい」をコードに含めています。

1
1,1
1,2,1
1,3,3,1
1,4,6,4,1
1,5,10,10,5,1
1,6,15,20,15,6,1
1,7,21,35,35,21,7,1
1,8,28,56,70,56,28,8,1
1,9,36,84,126,126,84,36,9,1
1,10,45,120,210,252,210,120,45,10,1

左寄りのみの結果ではありますが、パスカルの三角形が表示できます。