(define f-expt
    (lambda (b n)
      (define f-i
        (lambda (b n value cnt)
          (if (= n cnt)
              value
              (cond [(> (* 2 cnt) n)
                     (f-i b n (* value b) (+ cnt 1))]
                [else
                 (f-i b n (* value value) (* 2 cnt))]))))
      (f-i b n b 1)))

 

Posted on 2013-02-21 23:24  ASOCS  阅读(127)  评论(0编辑  收藏  举报