2011-01-01から1年間の記事一覧

シカゴのブリザードに遭遇した話

現在2カ月の短期滞在研究でアメリカに来ています。一人での海外滞在は初めてです。 さて、その滞在初日から貴重な経験をしたので記録を残しておきます。 日本でもニュースになったらしいシカゴのブリザード(スノーマゲドン)に捕まりました。 (Chicago Tribun…

「末尾最適化」を正しく理解する

以下の記事でPythonやRubyの末尾再帰関数をループに変換する手法が「末尾再帰最適化」や「末尾呼び出し最適化」として紹介されているのですが、これらの用語を使うのは間違いです。 紹介されている手法(動的束縛を利用して制御フローを変形する手法)自体は大…

Project Euler (74 〜 80) ピタゴラス数、五角数定理、トポロジカルソートなど

今日は80まで。このところ、数学を使う問題が沢山で面白いですね。 ピタゴラス数とブロコット木 Problem75 簡単には 1,500,000以下のLで a^2 + b^2 = c^2 かつ a + b + c = L を満たす自然数a,b,cの組がちょうど一組となるようなLの個数を求めよ という問題…

Project Euler(51 〜 73) ブロコット木など

久々にProject Eulerやりました。まだrowlは使える段階にないので、Rubyつかってます。 このあたりから数論の問題がいろいろ出てきて面白かったです。 ぺル方程式(Problem 66) 簡単には Dが平方数でない整数の時 x^2 - Dy^2 = 1 の整数解を求めよ という問題…