sicp习题试解 (1.16)

类别:编程语言 点击:0 评论:0 推荐:

; ====================================================================== ; ; Structure and Interpretation of Computer Programs ; (trial answer to excercises) ; ; 计算机程序的构造和解释(习题试解) ; ; created: code17 02/28/05 ; modified: ; (保持内容完整不变前提下,可以任意转载) ; ====================================================================== ;; SICP No.1.16 (define (fast-expt b n) (expt-iter b n 1)) (define (expt-iter base power surplus) (cond ((= power 0) surplus) ((even? power) (expt-iter (* base base) (/ power 2) surplus)) (else (expt-iter (* base base) (/ (- power 1) 2) (* surplus base))))) (define (even? n) (= (remainder n 2) 0)) ;; Test-it: ;; Welcome to MzScheme version 209, Copyright (c) 2004 PLT Scheme, Inc. ;; > (fast-expt 2 0) ;; 1 ;; > (fast-expt 2 1) ;; 2 ;; > (fast-expt 2 7) ;; 128 ;; > (fast-expt 2 10) ;; 1024 ;; > (fast-expt 3 9) ;; 19683 ;; >

本文地址:http://com.8s8s.com/it/it23169.htm