PythonでFibBuzz
Codnote.net
ScalaでFibBuzz - ( ꒪⌓꒪) ゆるよろ日記
FizzBuzzは時代遅れらしいので、ニューウェーブに乗るべく、Pythonで解いてみました
まず、普通の回答
from itertools import islice def fizzbuzz(x): if x % 15 == 0: return "fizzbuzz" elif x % 3 == 0: return "fizz" elif x % 5 == 0: return "buzz" else: return x def fib(): a, b = 1, 2 while 1: yield a a, b = b, a + b for x in islice(fib(), 100): print(fizzbuzz(x))
Golfにトライと言ってもfizzbuzzのとフィボナッチをつなげるだけですが。
ちなみにGolf版はワンライナーではない上、
再帰しているので、数が増えるに連れて指数関数的に遅くなり100に到達するのにかなり時間がかかりますが、あしからず。
f=lambda x:((x>1)and f(x-1)+f(x-2))or 1 i=1 while i<1:n=f(i);print("FizzBuzz"[(n%3!=0)*4:(n%5==0)*4+4]or n);i+=1
Golfはもっと短くなるような気が、誰かお願いします。