ループを使わないFizzBuzz問題の解き方
プログラマの登竜門FizzBuzz問題について。
ループを使わない解き方を書いてみた。
通常、この手のループを使わない系は関数の再帰呼び出しで解くのだけど
そこをもう一捻りしてコンパイル時に全てのループが展開されている方法をやってみた。
つまり、C++のテンプレートメタプログラミングでコンパイル時にテンプレートが展開されているってやつ。
どうやらC++のテンプレートメタプログラミングはチューリング完全だそうで、
噂には聞いていたのだけど、実際どんなもんなのか自分の手を動かして確かめてみた。
一年に一度くらいしか書かないC++でなんか怪しい感じだけど動くは動く。*1
ループの進め方とか色々もっとスマートに出来ないのかな?とも思うけど現状はこんな所で。