by shigemk2

当面は技術的なことしか書かない

リスト遊び 4-1 階乗

前回
リスト遊び 3-5 andとor - by shigemk2

今回では再帰(recursion)について勉強してみる。
ある関数が自分自身を呼び出すことを再帰という。

下記は再帰を使って階乗を処理する関数。
引数が0なら1にしてbreakしている。

(defun factorial (n)
  (cond
   ((zerop n) 1) ;; nが0なら1
   (t (* n (factorial (1- n)))))) ;; nが1以上ならfactorial(n-1)を呼び出す
=> factorial
(factorial 5)
=>120
(factorial 10)
=>3628800

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)

リスト遊び―Emacsで学ぶLispの世界 (ASCII SOFTWARE SCIENCE Language)