与做ab的方法类似,将b减半,将a 加倍,直到b为0
(define (double x) (+ x x))
(define (halve x) (/ x 2))
(define (even? x)
(= (remainder x 2) 0))
(define (fast-multiply ret a b)
(cond ((= b 0) ret)
((even? b) (fast-multiply ret (double a) (halve b)))
(else (fast-multiply (+ ret a) a (- b 1)))))
(define (multiply a b)
(fast-multiply 0 a b))
(multiply 8 11)
本文介绍了一种快速乘法算法,通过将乘法操作分解为加法、加倍和减半操作来实现高效的数值乘法。该算法特别适用于计算机科学领域的编程和数学计算。
2201

被折叠的 条评论
为什么被折叠?



