通过数学的方法可以解决,假设乘积n不是偶数,那a肯定是0。
(define (power x n r)
(if (< n 1) r
(power x (- n 1) (* r x))))
(define (cons a b)
(* (power 2 a 1) (power 3 b 1)))
(define (car n)
(define (car-iter x counter)
(if (not(even? x)) counter
(car-iter (/ x 2) (+ counter 1))))
(car-iter n 0))
(define (cdr n)
(define (cdr-iter x counter)
(cond ((= x 1) counter)
((even? x) (cdr-iter (/ x 2) counter))
(else (cdr-iter (/ x 3) (+ counter 1)))))
(cdr-iter n 0))
本文通过定义几个数学函数,探讨了如何使用数学方法解决一类特殊问题。这些函数包括递归计算幂运算、构造由a和b组成的数值以及从特定数值中提取特定部分等。文章深入介绍了如何利用递归和条件判断来实现这些功能。
1630

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



