Code Review
Compare your solutions
#| BEGIN (Введите свое решение) |#
(define (runtime) (current-milliseconds))
(define (search-for-primes n count)
(define (search-for-primes-iter cur prime-count)
(when (> count prime-count)
(if (timed-prime-test cur)
(search-for-primes-iter (+ cur 1) (+ prime-count 1))
(search-for-primes-iter (+ cur 1) prime-count))))
(search-for-primes-iter n 0))
(define (timed-prime-test n)
(start-prime-test n (runtime)))
(define (start-prime-test n start-time)
(if (prime? n)
(report-prime n (- (runtime) start-time))
#f))
(define (report-prime n elapsed-time)
(display "\n *** prime ")
(newline)
(display n)
(newline)
(display elapsed-time))
(define (smallest-divisor n)
(find-divisor n 2))
(define (find-divisor n test-devisor)
(cond ((> (square test-devisor) n) n)
((dividers? test-devisor n) test-devisor)
(else (find-divisor n (+ test-devisor 1)))))
(define (square n)
(* n n))
(define (dividers? a b)
(= (remainder b a) 0))
(define (prime? n)
(= n (smallest-divisor n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (search-for-primes n count)
(define (search-for-primes-iter cur prime-count)
(when (> count prime-count)
(if (timed-prime-test cur)
(search-for-primes-iter (+ cur 1) (+ prime-count 1))
(search-for-primes-iter (+ cur 1) prime-count))))
(search-for-primes-iter n 0))
(define (timed-prime-test n)
(start-prime-test n (runtime)))
(define (start-prime-test n start-time)
(if (prime? n)
(report-prime n (- (runtime) start-time))
#f))
(define (report-prime n elapsed-time)
(display "\n *** prime ")
(newline)
(display n)
(newline)
(display elapsed-time))
(define (smallest-divisor n)
(find-divisor n 2))
(define (find-divisor n test-devisor)
(cond ((> (square test-devisor) n) n)
((dividers? test-devisor n) test-devisor)
(else (find-divisor n (+ test-devisor 1)))))
(define (square n)
(* n n))
(define (dividers? a b)
(= (remainder b a) 0))
(define (prime? n)
(= n (smallest-divisor n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (search-for-primes lower upper op)
(define (iter n)
(cond ((<= n upper) (timed-prime-test n op) (iter (+ n 2)))))
(iter (if (odd? lower) lower (+ lower 1))))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (runtime) (current-milliseconds))
(define (search-for-primes n count)
(define (search-for-primes-iter cur prime-count)
(when (> count prime-count)
(if (timed-prime-test cur)
(search-for-primes-iter (+ cur 1) (+ prime-count 1))
(search-for-primes-iter (+ cur 1) prime-count))))
(search-for-primes-iter n 0))
(define (timed-prime-test n)
(start-prime-test n (runtime)))
(define (start-prime-test n start-time)
(if (prime? n)
(report-prime n (- (runtime) start-time))
#f))
(define (report-prime n elapsed-time)
(display "\n *** prime ")
(newline)
(display n)
(newline)
(display elapsed-time))
(define (smallest-divisor n)
(find-divisor n 2))
(define (find-divisor n test-devisor)
(cond ((> (square test-devisor) n) n)
((dividers? test-devisor n) test-devisor)
(else (find-divisor n (+ test-devisor 1)))))
(define (square n)
(* n n))
(define (dividers? a b)
(= (remainder b a) 0))
(define (prime? n)
(= n (smallest-divisor n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (search-for-primes n count)
(define (search-for-primes-iter cur prime-count)
(when (> count prime-count)
(if (timed-prime-test cur)
(search-for-primes-iter (+ cur 1) (+ prime-count 1))
(search-for-primes-iter (+ cur 1) prime-count))))
(search-for-primes-iter n 0))
(define (timed-prime-test n)
(start-prime-test n (runtime)))
(define (start-prime-test n start-time)
(if (prime? n)
(report-prime n (- (runtime) start-time))
#f))
(define (report-prime n elapsed-time)
(display "\n *** prime ")
(newline)
(display n)
(newline)
(display elapsed-time))
(define (smallest-divisor n)
(find-divisor n 2))
(define (find-divisor n test-devisor)
(cond ((> (square test-devisor) n) n)
((dividers? test-devisor n) test-devisor)
(else (find-divisor n (+ test-devisor 1)))))
(define (square n)
(* n n))
(define (dividers? a b)
(= (remainder b a) 0))
(define (prime? n)
(= n (smallest-divisor n)))
#| END |#
#| BEGIN (Введите свое решение) |#
(define (search-for-primes lower upper op)
(define (iter n)
(cond ((<= n upper) (timed-prime-test n op) (iter (+ n 2)))))
(iter (if (odd? lower) lower (+ lower 1))))
#| END |#