diff options
author | elioat <elioat@tilde.institute> | 2023-08-23 07:52:19 -0400 |
---|---|---|
committer | elioat <elioat@tilde.institute> | 2023-08-23 07:52:19 -0400 |
commit | 562a9a52d599d9a05f871404050968a5fd282640 (patch) | |
tree | 7d3305c1252c043bfe246ccc7deff0056aa6b5ab /js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.5/prime1.scm | |
parent | 5d012c6c011a9dedf7d0a098e456206244eb5a0f (diff) | |
download | tour-562a9a52d599d9a05f871404050968a5fd282640.tar.gz |
*
Diffstat (limited to 'js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.5/prime1.scm')
-rw-r--r-- | js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.5/prime1.scm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.5/prime1.scm b/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.5/prime1.scm new file mode 100644 index 0000000..35f7a70 --- /dev/null +++ b/js/games/nluqo.github.io/~bh/61a-pages/Lectures/3.5/prime1.scm @@ -0,0 +1,22 @@ + + +(define (prime? n) + (null? (filter (lambda (x) (= (remainder n x) 0)) + (range 2 (- n 1))))) + +(define (range from to) + (if (> from to) + '() + (cons from (range (+ from 1) to)))) + + +(define (filter predicate data) + (cond ((null? data) '()) + ((predicate (car data)) + (cons (car data) (filter predicate (cdr data)))) + (else (filter predicate (cdr data))))) + + + + +;; try (filter prime? (range 2 100)) |