Simple, Slowly

ブログを引っ越ししました。http://48.jp

パスカルの三角形をRubyで書いてみた

三連休、いかがお過ごしだったでしょうか。
連休中は嫁と子供が実家に帰省していましたので、心穏やかに過ごすことができました。

妻の顔色を伺うこともなく、息子に邪魔をされることもなく、ただただ目の前の物事に集中できる環境というのはとても素晴らしいもので、最近、創作意欲にめっきり欠けてしまっていたのですが、モリモリと創作意欲が湧いてまいりました。

さて、今回は「パスカルの三角形」をRubyで書いてみました。

パスカルの三角形とは、頂上に1と書き、その下に1、1と並べます。
そしてその下には、左右の両端に、やはり1、1と書き、真ん中に、上段の1、1を足した2を書きます。
以後、両端に1を書き、上段の隣り合った数を足したものを、間に入るように書いていきます。
これを順番に繰り返していくと、以下のような「パスカルの三角形」ができあがります。

f:id:sho-yamasaki:20130923211104g:plain

コードはGistに上げています。
https://gist.github.com/shoyan/6669516

また、「パスカルの三角形」に登場する偶数を「●」、奇数を「○」で描画すると、なんとも不思議な幾何学模様として描画されます。

f:id:sho-yamasaki:20130923212145p:plain

この図形、よく見ると上の四段の三角形を組み合わせて図形が組み立てられています。 このように全体が部分の複写でできている図形を「フラクタル図形」とよびます。

「パスカルの三角形」自体のアルゴリズムはそう難しくないので(描画のための整形のほうが大変でした)、休日の午後などにゆったりコーヒーでも飲みながら自分のお気に入りの言語で書いてみると楽しいですよ。