Panda Noir

JavaScript の限界を究めるブログです。

数学

モナドってすごく簡単だ!

関数型プログラミングしたりHaskellしてるとたびたび遭遇する「モナド」。実は大学1年の僕も理解できるくらい簡単です。この記事ではモナドとは何なのか解説したいと思います。 (注: モナドはモナドでもプログラミングでのモナドについての記事です。圏論の…

数学的帰納法・応用編

刀語最終話の七花八裂・応用編という響きが好きなので。響きの好き嫌いってなにで決定してるんでしょうかね? この記事は数学的帰納法を用いてより幅広く日常的に応用しようというものです。

プログラムで 対数螺旋を書く方法

対数螺旋という螺旋を書く方法を理解したので書きます。

フィボナッチ数列を関数で求める

昔から実装されてる古典的なフィボナッチ数列を求める関数の意味をじっくり考えてみました。

等加速度加速度直線運動についてかんがえてみました

加速度の加速度が増えて行ったらオモシロイと思ってやりました。

Canvasで正多角形をかく方法

この間、正六角形をかく方法を書きました。でも、どうせなら正多角形をやりたいとおもって考えました。

Canvasを使って正六角形をかいてみた

蜂の巣みたいなのをとりいれたデザインかっこ良そうとおもってCanvasの練習ついでにやってみました。

排他的論理和を2回繰り返すとなぜ元に戻るのか

変数を入れ替えるときに、 x^=y; y^=x; x^=y; (x^=yは、 x=x^y つまり x=x XOR y という意味です。) で入れ替えれることを知ったのですが、なぜそうなるのか分からなかったので実証してみました。 注意:xとyが同じ場合は0になるので、このアルゴリズムは完…

0で割った結果

「0で割ってはいけない」と習ってきましたが、その理由がようやくわかりました。