今日の料理 肉きしめん 概要 なんらかの金額が与えられた場合に、それを両替するコインの組みあわせ数を求められる問題が、いわばプログラミングの基礎的な問題として使われることが多い。今回は、木構造を作るような再帰的な関数を定義し、この問題にチャレンジしたい。 はじめに 久しぶりに、基礎でもかためるか、と思ってSICPを再読しているのだけれども、その中に両替問題というものがある。これは、木構造再帰を使いながら、そのコードを使うというものである。SICPを翻訳した和田英一氏によれば、この問題はとても古典的であるらしい。少し調べてみると、類似の問題が数学オリンピックの予選に使われた記述もある。 なるほど、これらの詳しい考察については、このpdfに記載がある。また、この問題を詳しく考えると、動的計画法で解けるとした記述もある。こちらは自分のレベルではないようなので、今後の課題にしたい。 さて、今回は単