zoukankan      html  css  js  c++  java
  • 【SICP练习】47 练习2.6

    练习2.6

    如果这道题还没有做的请务必要先自己思考并检验。如果没有能够求出来,也可以在看完我推导的one之后自己再来推导two

    一开始我也不懂题目中的两个式子是什么意思,甚至连怎么用都不知道。但我猜测到是不是可以用这两个式子来构造出one,以及two,还有后面的无数多个。既然有了想法,那么就开工吧。我把在Edwin中写的截图下来,因为Edwin会自动缩进比较直观,比word好用些。



    同样的,two可以用(add-1 one)来求出。以下依旧是截图咯。




    不知道大家能不能由此看出博主的操作系统呢?

    lambda是不是很有意思呢?我们先不急着求题目剩余的部分也就是加法过程的定义,还是先回味一下好吧,哈哈。相信大家求出one的时候已经猜出了two,求出了two的时候就几乎可以肯定threefourfive了。three如下。也就通过不断的嵌套f

    (define three

      (lambda (f)

         (lambda (x)

            (f (f (f x))))))

    因此我们相信加法,比如4+5,就是将前者的4f和后者的5f累加成嵌套的9f。因此我们将其表示出来。

    (define +

       (lambda (m)

          (lambda (n)

             (lambda (f)

                 (lambda (x)

                           (m f( n f x)))))))

    闲的无聊就来写写”+“的展开式好了。



    

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

  • 相关阅读:
    Element + 列表增删改查
    int 型动态数组
    Vue.prototype.$ 和 Vue.use()
    Vue.js生成一个Vue实例
    Element 树形组件
    使用Vuex 实现标签数字增加与减小
    使用指针做形参
    JavaWeb学习之HttpServletRequest
    JavaWeb学习之HttpServletResponse
    JavaWeb学习之Javaweb核心servlet
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786172.html
Copyright © 2011-2022 走看看