28 lines
529 B
Scheme
28 lines
529 B
Scheme
(define (power-seq n)
|
|
(let ((i 0))
|
|
(lambda ()
|
|
(set! i (+ 1 i))
|
|
(expt i n))))
|
|
|
|
(define (filter-seq m n)
|
|
(let* ((s1 (power-seq m)) (s2 (power-seq n))
|
|
(a 0) (b 0))
|
|
(lambda ()
|
|
(set! a (s1))
|
|
(let loop ()
|
|
(if (>= a b) (begin
|
|
(cond ((> a b) (set! b (s2)))
|
|
((= a b) (set! a (s1))))
|
|
(loop))))
|
|
a)))
|
|
|
|
(let loop ((seq (filter-seq 2 3)) (i 0))
|
|
(if (< i 30)
|
|
(begin
|
|
(if (> i 20)
|
|
(begin
|
|
(display (seq))
|
|
(newline))
|
|
(seq))
|
|
(loop seq (+ 1 i)))))
|