From 97402604df1ea31bfd3012ea031c90753fca2950 Mon Sep 17 00:00:00 2001 From: "K. Isom" Date: Fri, 26 Jan 2018 03:00:54 +0100 Subject: [PATCH] Add pamphlet against r start. --- par/prime.rkt | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 par/prime.rkt diff --git a/par/prime.rkt b/par/prime.rkt new file mode 100644 index 0000000..d9bad64 --- /dev/null +++ b/par/prime.rkt @@ -0,0 +1,35 @@ +(define (prime-numbers amount from) + (if (= amount 0) + '() + (if (prime? from) + (cons from (prime-numbers (- amount 1) (+ from 1))) + (prime-numbers amount (+ from 1))))) + +(define (divisors n from) + (if (> from n) + '() + (if (= (remainder n from) 0) + (cons from (divisors n (+ from 1))) + (divisors n (+ from 1))))) + +(define (prime? number) + (equal? (divisors number 1) (list 1 number))) + +(define (square x) (* x x)) + +(define (squares list-of-numbers) + (if (eq? list-of-numbers '()) + '() + (cons (square (first list-of-numbers)) (squares (rest of numbers))))) + +(define (map f list) + (if (eq? list '()) + '() + (cons (f (first list)) (plural f (rest list))))) + +(define (sum numbers) + (if (eq? numbers '()) + 0 + (+ (first numbers) (sum (rest numbers))))) + +;; (sum (map square (prime-numbers 7 1)))