summaryrefslogtreecommitdiff
path: root/problem-7.scm
blob: edad5da5da6e326953991eca297036d7229de640 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
(use-modules (srfi srfi-1))

(define (divisible? m n)
  (zero? (modulo m n)))

(define (divisible-by-any? x nums)
  (any (lambda (n)
         (divisible? x n))
       nums))

(define (nth-prime n)
  (define (inner m count primes)
    (cond ((= count n)
           (car primes))
          ((divisible-by-any? m primes)
           (inner (1+ m) count primes))
          (else
           (inner (1+ m) (1+ count) (cons m primes)))))
  (inner 2 0 '()))

(nth-prime 10001)