zoukankan      html  css  js  c++  java
  • 【SICP练习】84 练习2.56

    这道题的代码略长啊。不过我也是因此而知道Edwin上的代码居然可以复制到word上,以前还想当然的以为不能复制的,毕竟在Edwin上粘贴用的Ctrl+Y,而不是Ctrl+V。在这里我就只将书上没有的代码贴出来了。

    (define (deriv exp var)
       (cond ((number? exp) 0)
             ((variable? exp)
              (if (same-variable? exp var) 1 0))
             ((sum? exp)
              (make-sum (deriv (addend exp) var)
                         (deriv (augend exp) var)))
    ((product? exp)
               (make-sum (make-product (multiplier exp)
                                         (deriv (multiplicand exp) var))
                           (make-product (deriv (multiplier exp) var)
                                         (multiiplicand exp))))
               ((exponentiation? exp)
         (let ((n (exponent exp))
                      (u (base exp)))
                  (make-product
                        n
                       (make-product 
                            (make-exponentiation
                                 u
                                 (- u 1))
                           (deriv u var)))))
        (else
                 (error "unknown expression type -- DERIV" exp))))
    (define (make-exponentiation base exponent)
      (cond ((= exponent 0)
         1)
        ((= exponent 1)
         base)
        (else 
         (list '** base exponent))))
    (define (exponentiation? x)
      (and (pair? x)
           (eq? (car x) '**)))
    (define (base exp)
      (cadr exp))
    (define (exponent exp)
      (caddr exp))
    

    版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

  • 相关阅读:
    正则表达式大全
    函数基础(二)
    函数基础(一)
    bzoj3531 [Sdoi2014]旅行
    bzoj4785 [Zjoi2017]树状数组
    bzoj4568 [Scoi2016]幸运数字
    bzoj1975 [Sdoi2010]魔法猪学院
    bzoj1079 [SCOI2008]着色方案
    bzoj1996 [Hnoi2010]chorus 合唱队
    bzoj2326 [HNOI2011]数学作业
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786135.html
Copyright © 2011-2022 走看看