1.33 (累积互素数)

mac2022-06-30  23

(define (filtered-accumulate filter? combiner null-value term a next b) (define (iter a result) (cond ((> a b) result) ((filter? a) (iter (next a) (combiner (term a) result))) (else (iter (next a) result)))) (iter a null-value)) (define (coprime? i n) (and (< i n) (= 1 (gcd i n)))) (define (product-of-coprimes n) (filtered-accumulate (lambda (x) (coprime? x n)) * 1 (lambda (x) x) 1 (lambda (x) (+ x 1)) n)) (product-of-coprimes 10)

  

转载于:https://www.cnblogs.com/R4mble/p/7893849.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)