摘要:
用对数的计算步数求两个整数的乘积。使用加法的方式求出乘积。假定除了加法之外还有double运算,它能求出一个整数的两倍。halve运算,讲一个(偶数)除于2 。只用对数的计算步数描述:(a * b) = ((a + a) * (b / 2)) b是偶数 (a + (a * (b - 1)) b是奇数(define (fast-mul b n) (cond ((= n 1) b) ((even? n) (fast-mul (double b) (halve n))) (else (+ b (fast-mul b (- n 1)))) ))(define (double n) (* 2 n)(de 阅读全文
posted @ 2011-02-22 23:34
CuiXS
阅读(249)
评论(0)
推荐(0)

浙公网安备 33010602011771号