Wednesday, November 12, 2008

Project Euler

7 時起床。珈琲とシリアルの朝食をとって出勤。 午前は卒研ゼミF。2ステップペアの経験分布の Sanov の定理。 20分間の昼休憩中に朝買っておいた生協弁当で昼食を済ませ、 12:30 から院生ゼミ。 続いて 14:10 から薬学部の「数学4」。 多次元の確率分布など。 続いて 16 時から学科会議。 運良く二時間ほどで終了。 会議を受けて報告書を書き、メイルで送ってから、帰る。 帰宅は 20 時くらい。 さて、これから夕食を作るのも辛いし、 近所のバーに行くかな。

某 blog で "Project Euler" と言うサイトを知った。 簡単な数学の問題が沢山挙げられていて、 どれだけの問題が解けたかを競うことができる。 しかし、数学の問題と言っても、数学的洞察だけでは不十分で、 簡単なプログラミングが必要なものがほとんど。 例えば、3 桁の数を二つかけて出来る最大の回文数 (右から読んでも左から読んでも同じ数)は何か、とか。 実際、どのプログラミング言語を使用するかというアンケートもある。 おそらく、Perl, Python, Ruby などのスクリプト言語を使うのが楽だろう。 簡単なプログラミング演習の課題のストックとして、使えそうだ。 あるいは、 あえてこれらの問題をコンピュータを使わずに解くことは、 なかなかチャレンジングな頭の体操になるかも知れない。 3 題ほど手計算だけで解いてみたが、けっこう頭を使った。 天才向けとしては、 "Project Euler" の問題を全て「暗算で解く」という課題をお勧めしておこう。