マクドナルドが再帰の概念を用いたサービスを始めたようです
(今日の話題はプログラマー向きです)
詳しくは、以下の2ちゃんログサイトを見てください。
http://urasoku.blog106.fc2.com/blog-entry-600.html
要するにビックマックセットを頼むと、ビックマックセット+ポテト+ドリンクが付いてくるみたいです。
ってことは、そのビックマックセット+ポテト+ドリンクにおけるビックマックセットも、ビックマックセット+ポテト+ドリンクであるわけで。C言語で書くとこういうことですね。
終了条件を書かないと無限ループになっちゃうよ。これバグですよマクドナルド。
いや、まてよ? 上の書き方だと単純な無限ループだが、以下のように(左再帰を除去して)こう書き直したらどうだろう?
こうすると同じく無限ループになるが、ポテトとドリンクは無限大に増えていく。そうするとビックマックは無視できるくらい小さくなり、無限大のポテト+ドリンクが残る。そういうサービスなのだろうか。マクドナルドは「ビックマックセットの料金を払えば、ポテトは食べ放題、ドリンクは飲み放題ですよ!」と言いたいのだろうか?
興味が尽きません。久しぶりにビックマックでも食べに行くか。