プログラム

schemeで「n(≧2)以下の素数のリストを返すプログラムを、エラトステネスの篩を使って書け」という問題を目にしたのでメモ。
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)))
)

(何故かスクロールバーが出る……)

単なるお遊びでもいいから、適当な頻度で何かに使っとかないと、せっかく勉強したことが頭から抜けていきそう

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

プロフィール

hide(ハイド)

Author:hide(ハイド)

○やりこみとか

DQMキャラバンハートRTA
3:57:15

(11年5月21日)

GB版DQM2
低レベルボス攻略

(14年5月6日)

ぱるメロ
旧曲10780pts %表
ツアー3628630
(12年3月~14年9月)

ポケモン不思議のダンジョン
赤の救助隊
RTA 2:49:59

(14年12月5日)

ポケモン不思議のダンジョン
赤の救助隊
状況再現ありRTA 2:26:36

(15年3月9日)

DQM系データ

フリーノベルゲ攻略

最新記事
カテゴリ
リンク
最新コメント
月別アーカイブ