Halloween問題とは

Halloween問題とは
ただのFizzBuzz問題です。

思いついたので作った。でもあと少しで10月31日が終わる...。

(defun hallo-ween (n limit)
  (if (<= n limit)
      (progn
        (cond ((zerop (mod n 15)) (princ "Halloween! "))
              ((zerop (mod n 3)) (princ "Hallo " ))
              ((zerop (mod n 5)) (princ "ween! " ))
              (t (princ n)
                 (princ " ")))
        (hallo-ween (1+ n) limit))))

実行

(hallo-ween 1 30)

;;1 2 Hallo 4 ween! Hallo 7 8 Hallo ween! 11 Hallo 13 14 Halloween! 16 17 Hallo 19 ween! Hallo 22 23 Hallo ween! 26 Hallo 28 29 Halloween! nil

loopバージョン

(defun hallo-ween-loop (n)
  (cond ((zerop (mod n 15)) (princ "Halloween! "))
        ((zerop (mod n 3)) (princ "Hallo " ))
        ((zerop (mod n 5)) (princ "ween! " ))
        (t (princ n)
           (princ " "))))

実行

(loop for n from 1 to 30 do (hallo-ween-loop n))

;;1 2 Hallo 4 ween! Hallo 7 8 Hallo ween! 11 Hallo 13 14 Halloween! 16 17 Hallo 19 ween! Hallo 22 23 Hallo ween! 26 Hallo 28 29 Halloween! nil

もっと早く思いついて作りたかった。