(なでしこ)パスカルの三角形を表示。
前書き
現在の日本の高校数学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}$
が成り立つことを言います。
二項定理に関連して、「パスカルの三角形」があります。
これは、多項式を展開した時の係数が三角形のような三角形を描き、またある係数がその上段の係数の和で描かれることに由来します。
-
Pythonによる実装は [(Python)二項定理・パスカルの三角形をprintする]をご参照ください。
-
Reactによる実装(パスカルの三角形のみ)については、[(React)パスカルの三角形をブラウザ上で描画]をご参照ください。
今回は、日本語プログラミング言語「なでしこ」、およびそのウェブ版である「なでしこ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
左寄りのみの結果ではありますが、パスカルの三角形が表示できます。