素数を求める

説明

多分、練習のために書いたもの。嬉しがって再帰呼び出しを使ってる。

ELIS復活祭

[戻る]

実行例

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)))))
))

[戻る]
inserted by FC2 system