FizzBuzz

Perl で FizzBuzz

いやぁ、いろんな方法があるねぇ。もう完全にネタだけど。ということで Perl 版。 use strict; use warnings; print [$_, 'Fizz', 'Buzz', 'FizzBuzz']->[($_ % 3 == 0) * 2 + ($_ % 5 == 0)], "\n" for 1..100; 昨日の MySQL 版と同じアプローチだけど、こ…

MySQL で FizzBuzz

そろそろネタ切れの予感。 seq はなんとかならんものかな。 CREATE TEMPORARY TABLE seq ( i INT AUTO_INCREMENT PRIMARY KEY ); INSERT INTO seq VALUES (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (), (),…

Ruby で FizzBuzz

だからしつこいって。 class Integer def is_multiple_of?(*ns) ns.all? {|n| self % n == 0} end end (1..100).each do |i| if i.is_multiple_of? 3, 5 puts 'FizzBuzz' elsif i.is_multiple_of? 3 puts 'Fizz' elsif i.is_multiple_of? 5 puts 'Buzz' else…

制御構文・論理演算を一切使わずに FizzBuzz

C++ なら剰余演算どころか if も for も一切使わずに FizzBuzz が書けるとかそういうネタ。てか、まだ FizzBuzz ネタを引っ張るか。 ちなみに、プログラム中には剰余演算があるが、C++ の仕様上、これはコンパイルタイムに計算されるはずなので、実行時には…

Lisp で FizzBuzz

あえて Common Lisp の do マクロを避けて、自分で defmacro してみる。ちょっとしたリハビリ。つうかまだひっ ぱるのか。 Emacs Lisp で書いたけど、Common Lisp でもそのまま動くだろう。たぶん。 (defmacro from-to (var from to &rest body) `(let ((,va…

Haskell で FizzBuzz

ref:http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0705.html#D20070510-2 自分ならこう書く。 main = mapM_ (putStrLn.toWord) [1..100] toWord a | mod a 5 == 0 && mod a 3 == 0 = "FizzBuzz" | mod a 3 == 0 = "Fizz" | mod a 5 == 0 = "Buzz" | ot…

FizzBuzz

なんかはやりすぎだと思った。 じゃ、ま、こんなのでも。 from itertools import izip, repeat def chain(iterable): for it in iter(iterable): for i in iter(it): yield i def take(n, iterable): it = iter(iterable) for i in xrange(n): yield it.next…