福岡は今日も雨

情報系大学生のブログ。主に技術,音楽について。

Common LispとFizzBuzz

Common Lispで条件分岐をする方法については分かったので,
再帰を使いながらFizzBuzzでも。面白いね。

FizzBuzz

(defun fizzbuzz(num last_num)
	(cond ((= num last_num)(print last_num))
		((= 0 (mod num 15))(print 'fizzbuzz)(fizzbuzz (1+ num) last_num))
		((= 0 (mod num 5)) (print 'buzz)(fizzbuzz (1+ num) last_num))
		((= 0 (mod num 3)) (print 'fizz)(fizzbuzz (1+ num) last_num))
		(t				(print num)(fizzbuzz (1+ num) last_num))))

合計和

(defun sum(num)
	(if (= num 0)
		0
		(+ num (sum (1- num)))))

かいじょう

(defun fact(num)
	(if (= num 0)
		1
		(* num (fact (1- num)))))

以上