プログラム
schemeで「n(≧2)以下の素数のリストを返すプログラムを、エラトステネスの篩を使って書け」という問題を目にしたのでメモ。
mapとかfoldとかの使い方は全部忘れた。
14/09/21 ちょっと変更
(何故かスクロールバーが出る……)
単なるお遊びでもいいから、適当な頻度で何かに使っとかないと、せっかく勉強したことが頭から抜けていきそう
mapとかfoldとかの使い方は全部忘れた。
14/09/21 ちょっと変更
(define (primelist n)
(define (delete x list) (cond ((null? list) '())
((zero? (modulo (car list) x)) (delete x (cdr list)))
(else (cons (car list) (delete x (cdr list))))))
(define (sieve list) (if (null? list) '() (cons (car list) (sieve (delete (car list) (cdr list))))))
(define (oddlist a b) (if (> a b) '() (cons a (oddlist (+ a 2) b))))
(cons 2 (sieve (oddlist 3 n)))
)
(何故かスクロールバーが出る……)
単なるお遊びでもいいから、適当な頻度で何かに使っとかないと、せっかく勉強したことが頭から抜けていきそう
コメント
コメントの投稿
トラックバック