ええ、そうなの!? と思ったので深追いしてみた。 逆FizzBuzzって、オートマトンなので正規表現を使うと楽に出来るはず。 Perl で 逆FizzBuzz 状態遷移図を書いてみるとこう。 ほんとは1〜15まで全て状態を書いて、ε遷移を加えてεの長さも1とした最少の単語を見付けなければならない。 で、これをこのPDFの方法で正規表現に書き直してみる。だるかったのでfizzはF、buzzはB、fizzbuzzはZにしておいた。 my $reg_inv_fizzbuz = qr/^( (((((F?B)?F)?F)?B)?F)?Z (FBFFBFZ)* (F|FB|FBF|FBFF|FBFFB|FBFFBF) |(((((F?B)?F)?F)?B)?F)?Z |((((F?B)?F)?F)?B)?F |(((F?B)?F)?F)?B |((F?B)?F)?F |(F?B)?F |F?B |F
![逆FizzBuzz(Inverse FizzBuzz)の正規表現書いた(解けてないけど) - Pixel Pedals of Tomakomai](https://cdn-ak-scissors.b.st-hatena.com/image/square/68c876d4c83b609a519a1dcd8e0e25a935289661/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fhiratara%2F20120517%2F20120517162138.jpg)