30 lines
498 B
Scheme
30 lines
498 B
Scheme
|
|
|
|
(define five +)
|
|
|
|
(define (one v)
|
|
(if (equal? v 15)
|
|
(apply five (list 1 2 3 4 5))
|
|
15))
|
|
|
|
(define (dloop x d)
|
|
(if (zero? d)
|
|
0
|
|
(if (equal? x 15)
|
|
(let ([v (one 10)])
|
|
(let ([c (one v)])
|
|
(add1 (dloop c (sub1 d)))))
|
|
(dloop 15 d))))
|
|
|
|
(define (loop)
|
|
(let loop ([n 0])
|
|
(let ([v (dloop 0 n)])
|
|
(if (equal? n v)
|
|
(begin
|
|
(when (zero? (modulo n 100))
|
|
(printf "~a~n" n))
|
|
(loop (add1 n)))
|
|
(error 'loop "messed up: ~a != ~a~n" n v)))))
|
|
|
|
|