Emacs Lisp の習得を目指す誰かの参考になるかもしれないので、僕なりの解答を書いておきます。 アルゴリズムの実装 繰り返しと仕事は分離したいので、まず仕事の部分を定義します。 (defun fizzbuzz (num) (cond ((= (% num 15) 0) "FizzBuzz") ((= (% num 3) 0) "Fizz") ((= (% num 5) 0) "Buzz") (t num))) (fizzbuzz 1) ;; => 1 (fizzbuzz 3) ;; => "Fizz" (fizzbuzz 5) ;; => "Buzz" (fizzbuzz 15) ;; => "FizzBuzz" whileループ Emacs Lisp で一番現実的なのは、while 分による繰り返しです。 (defun fizzbuzz1 (limit) (let ((i 1) r