(defn fizzbuzz [n]
(-> (fn [i mod3 mod5]
(cond
(= mod3 mod5 0) "fizzbuzz"
(= mod3 0) "fizz"
(= mod5 0) "buzz"
:else i))
(map (range n)
(cycle (range 3))
(cycle (range 5)))))
(= (fizzbuzz 10) ["fizzbuzz" 1 2 "fizz" 4 "buzz" "fizz" 7 8 "fizz"])
(prn (fizzbuzz 100))
KGRlZm4gZml6emJ1enogW25dCiAgKC0+IChmbiBbaSBtb2QzIG1vZDVdCiAgICAgICAgKGNvbmQKICAgICAgICAgICg9IG1vZDMgbW9kNSAwKSAiZml6emJ1enoiCiAgICAgICAgICAoPSBtb2QzIDApICAgICAgImZpenoiCiAgICAgICAgICAoPSBtb2Q1IDApICAgICAgImJ1enoiCiAgICAgICAgICA6ZWxzZSAgICAgICAgICAgaSkpCiAgICAgIChtYXAgKHJhbmdlIG4pCiAgICAgICAgICAgKGN5Y2xlIChyYW5nZSAzKSkKICAgICAgICAgICAoY3ljbGUgKHJhbmdlIDUpKSkpKQoKKD0gKGZpenpidXp6IDEwKSBbImZpenpidXp6IiAxIDIgImZpenoiIDQgImJ1enoiICJmaXp6IiA3IDggImZpenoiXSkKKHBybiAoZml6emJ1enogMTAwKSkK