多分、練習のために書いたもの。嬉しがって再帰呼び出しを使ってる。
100までの素数を求める
Tao>(load "prime.tao") Tao>(prime 100)
;素数を求める
;
(de prime (n)
(cond ((lessp n 3) 2)
(t (prime-add n (prime (- n 1))))))
(de prime-add (n prime-list)
(cond ((primeq n) (append prime-list (list n)))
(t prime-list)))
(de primeq (n) (check n (prime (fix (sqrt n)))))
(de check (n nlist)
(cond ((atom nlist) t)
(t (cond
((zerop (remainder n (car nlist))) nil)
(t (check n(cdr nlist)))))
))