sicp
文章平均质量分 72
再思即可
季文子三思而後行。子聞之,曰:「再,斯可矣。」
展开
-
sicp每日一题[2.34]
这道题挺简单的,主要是题目里给的参数名起的太好了,本来我还不知道咋写的,一看 this-coeff 和 higher-terms 这俩参数,瞬间就明白了。原创 2024-09-30 16:50:23 · 551 阅读 · 0 评论 -
sicp每日一题[2.33]
我开始没明白它的意思,不知道 lambda 两个参数要干嘛,所以先做的后面2个,做到第三个的时候才发现是 accumulate 函数中 op 函数需要2个参数,明白了这一点,剩下的就比较好处理了,x 就表示当前要处理的项,y 就是原函数中的递归项。这道题还是有一定难度的,尤其是第一个。原创 2024-09-29 08:26:45 · 149 阅读 · 0 评论 -
sicp每日一题[2.32]
上一道题没什么改动,再来一道。原创 2024-09-28 08:39:25 · 927 阅读 · 0 评论 -
sicp每日一题[2.31]
这道题跟上面一道的 map 实现几乎一模一样,我还以为我理解错题目了,上网搜了一下,发现别人也是这么写的,那就这样吧。原创 2024-09-28 08:36:25 · 257 阅读 · 0 评论 -
sicp每日一题[2.30]
这个题目没啥难度,直接仿照 scale-tree 函数,修改一下函数名就行了。原创 2024-09-27 08:12:57 · 891 阅读 · 0 评论 -
sicp每日一题[2.29]
这道题主要是需要理解 mobile 是什么东西,我感觉它跟杠杆很像,然后就比较好处理了。原创 2024-09-26 12:03:22 · 927 阅读 · 0 评论 -
sicp每日一题[2.28]
这道题我参考了 count-leaves 和 练习 2.27,其中比较难处理的可能是 tree 的第一部分,要注意这里的 result 应该是空的,其他地方逻辑跟 2.27 就没什么区别了。原创 2024-09-25 11:21:07 · 138 阅读 · 0 评论 -
sicp每日一题[2.24-2.27]
2.24-2.26没什么代码量,所以跟 2.27 一起发吧。原创 2024-09-24 10:39:09 · 399 阅读 · 0 评论 -
sicp每日一题[2.22-2.23]
第一部分的代码得到的答案是倒序的,这个是因为程序里每次都把新加入的元素放到结果列表的开头;第二部分得到的答案是这样的:'(((((() . 1) . 9) . 25) . 49) . 81),虽然顺序对了,这并不是我们想要的列表,其实只要在调用第一部分代码后再次调用之前练习里的 reverse 函数就可以得到顺序正确的列表了。这道题开始我不知道怎么连续执行 2 条程序,所以不知道怎么处理,后来上网查了一下,发现。可以直接把多条语句放到一起执行,然后这道题就没有什么难度了。原创 2024-09-23 10:58:46 · 675 阅读 · 0 评论 -
sicp每日一题[2.21]
这道题目很简单,只要把例子里的程序稍微修改就行,对比之下更显得 map 的强大。原创 2024-09-22 08:33:44 · 183 阅读 · 0 评论 -
sicp每日一题[2.20]
这道题也是看着唬人,题干挺长,但是主要在介绍如何定义参数个数不定的函数,真正的题目就最后一段,就是要根据第一个参数的奇偶性,把后面参数中跟第一个参数奇偶性相同的找出来。原创 2024-09-21 11:38:30 · 722 阅读 · 0 评论 -
sicp每日一题[2.19]
从执行结果来看,零钱币值的顺序是不影响兑换的方法数的,这是因为 cc 算法覆盖了所有可能的情况,无论从哪种币值先开始兑换,都不会影响总的结果。这道题题目很长,看着挺唬人的,但实际上非常简单,只要把 coin-values 当作列表来处理就行了。原创 2024-09-20 08:02:43 · 514 阅读 · 0 评论 -
sicp每日一题[1.1-1.29]
补一下之前的题目。原创 2024-09-19 10:46:14 · 1301 阅读 · 0 评论 -
sicp每日一题[2.18]
可能是因为前两天发高烧脑子不好使,看到这道题我才忽然反应过来,这一节不就是在实现“链表”这个数据结构吗?乍一看,这道题利用 length 和 list-ref 很容易实现,但是我想了半天也没有做出来。最后想到了每次读取列表中的第一个元素,构造一个新的列表,不过也没有实现出来,还是上网查了资料,才明白怎么做。原创 2024-09-19 10:25:57 · 348 阅读 · 0 评论 -
sicp每日一题[2.17]
这道题难度不大,而且借用之前的 length 和 list-ref 可以很轻松的完成这道题目的要求,不过我还是选择不用这两个函数,通过判断 list 最后一个元素是否为空来做。原创 2024-09-18 14:02:25 · 211 阅读 · 0 评论 -
sicp每日一题[2.13-2.16]
下面几道题互相关联,直接放到一起吧。原创 2024-09-17 13:16:07 · 949 阅读 · 0 评论 -
sicp每日一题[2.12]
我以为这是上道题的要求,已经实现了。原创 2024-09-16 23:18:54 · 552 阅读 · 0 评论 -
sicp每日一题[2.10]
这道题目也很简单,只要加一个区间内是否包含0的判断就行了。居然把第2.10题漏了,刚才准备发2.12才发现。原创 2024-09-16 23:11:43 · 437 阅读 · 0 评论 -
sicp每日一题[2.11]
这道题目难度并不大,就是有点麻烦,要把每一种情况的上界和下界都分析出来。至于区间采用置信区间的表示方法,只要用宽度的一半除以中间值就行了。原创 2024-09-15 13:02:06 · 513 阅读 · 0 评论 -
sicp每日一题[2.9]
这道题目没有任何难度,只要把原来的区间宽度和经过加减之后的区间宽度表示出来,它们的关系也就一目了然了。根据执行结果可以看出,加减之后的区间宽度等于原来两个区间宽度之和。原创 2024-09-14 10:53:47 · 274 阅读 · 0 评论 -
sicp每日一题[2.8]
这道题目也比较简单,只要注意到区间之差的下界是被减区间的下界减去另一个区间的上界,上界是被减区间的上界减去另一个区间的下界即可。原创 2024-09-13 13:08:57 · 266 阅读 · 0 评论 -
sicp每日一题[2.7]
这道题目难度不大,比起前面的选择函数,就是多了一个取最小值为下界,最大值为上界的步骤,直接利用现成的。原创 2024-09-13 13:05:27 · 523 阅读 · 0 评论 -
sicp每日一题[2.6]
这个题太难理解了,题目里的两个函数,zero 我搞明白了,也勉强能接受它跟 0 的作用相同,但是我始终理解不了为啥。的作用是加一,明明是。原创 2024-09-12 11:02:49 · 614 阅读 · 0 评论 -
sicp每日一题[2.5]
这道题目难度也不大,只要实现一个辅助函数来计算结果中包含了几个。原创 2024-09-11 10:35:14 · 145 阅读 · 0 评论 -
sicp每日一题[2.4]
这道题很简单,只需要把。原创 2024-09-10 10:40:37 · 212 阅读 · 0 评论 -
sicp每日一题[2.3]
首先借用 Exercise 2.2 的函数来表示矩形,我们已经有了线段的表示方法,那矩形就是2组平行且相等的线段,且邻边垂直。为了简单起见,把矩形左下角的顶点坐标设为(0, 0),且一条边落在 x 轴上。然后采用矩形左边的那条边和对角线交点坐标来确定一个矩形,同样为了简便起见,把交点坐标设为(0, 0)。是四层不同的函数,某一层的函数实现逻辑的改变,不会影响到其他层的调用。原创 2024-09-09 12:19:12 · 789 阅读 · 0 评论 -
sicp每日一题[2.2]
这道题目很简单,主要是为了检查我们是否理解了嵌套使用抽象数据结构的概念,有点像 Python 里的列表,每个列表元素也可以是列表。原创 2024-09-08 09:02:05 · 880 阅读 · 0 评论 -
sicp每日一题[2.1]
第一章学完了,今天开始学习第二章,目前还没有遇到什么问题,这道题也比较简单,只要注意到“分子分母同时为正,或者分子为负,分母为正,不需要改变符号;分子分母同时为负,或者分子为正,分母为负,分子分母都需要改变符号”这一点,就可以很容易地实现题目要求。就可以实现,不过我暂时不改了,也许后面有道题目会让做这个事情,到时候再说。可以看出这里还是有改进空间,-1/1 写成 -1 就行,利用。原创 2024-09-07 13:44:00 · 404 阅读 · 0 评论 -
sicp每日一题[1.46]
【代码】sicp每日一题[1.46]原创 2024-09-06 11:54:00 · 761 阅读 · 0 评论 -
sicp每日一题[1.45]
知道了重复执行的次数,在编写代码的时候再次遇到了问题,我对于“把一个过程作为另一个过程的返回值”这个概念理解的还是不到位,没有理解。这道题难度太难了,我最后也没能靠自己做出来。一个是怎么找到要执行几次。的参数,最后上网看了别人的答案才明白过来。,结果还是不对,最后上网搜了一下才知道是。,试了几个发现明显不是,又猜测是不是。之后还要给它传一个过程作为。,感兴趣的可以参考知乎的。原创 2024-09-05 14:03:40 · 574 阅读 · 0 评论 -
sicp每日一题[1.44]
这道题难度不大,smooth 函数返回一个计算3个数平均值的 lambda 函数就行。原创 2024-09-04 10:53:16 · 856 阅读 · 0 评论 -
sicp每日一题[1.43]
这道题稍微复杂一点,要用一个循环来实现重复调用目标函数。原创 2024-09-03 10:53:13 · 471 阅读 · 0 评论 -
sicp每日一题[1.42]
这道题也非常简单,跟上一题几乎一模一样,只是把 double 换成一个通用的单参数函数而已。原创 2024-09-03 10:24:32 · 325 阅读 · 0 评论 -
sicp每日一题[1.41]
理解了可以把过程(procedure)作为返回值的概念之后,这道题就变得非常简单,过程只需要将传进来的参数过程连续执行2次就行。原创 2024-09-02 10:20:53 · 361 阅读 · 0 评论 -
sicp每日一题[1.40]
【代码】sicp每日一题[1.40]原创 2024-09-01 16:16:05 · 372 阅读 · 0 评论 -
sicp每日一题[1.39]
1.39乍一看,并不很难,但是我想了半天也没做出来。1.38难度不大,再加上今天周末,时间充足,我决定再做一道😀。然后题目就变得简单了,只要把最后的结果除以。原创 2024-08-31 16:30:52 · 1057 阅读 · 0 评论 -
sicp每日一题[1.38]
有很大差距,最后把 1.37 的程序也做了修改才得到满意的近似值。就可以了,但是当我使用 1.37 的程序时,却发现算出的结果跟。值的部分,另外迭代和递归实现也都做了一定的调整。首先是去掉了寻找满足条件的最小。这道题本来很简单,只要实现。原创 2024-08-31 14:39:03 · 1037 阅读 · 0 评论 -
sicp每日一题[1.37]
这道题题干比较长,理解起来有点费劲,其实就是设计一个函数来计算题目中有限项的公式的结果。a 和 b 要求分别用迭代和递归的方法来实现,并找出满足条件的最小 k 值。为了便于展示,用 display 函数把 k 和 算出的近似值一起打印出来。原创 2024-08-30 13:02:32 · 884 阅读 · 0 评论 -
sicp每日一题[1.36]
使不使用 average damping 的差距还是挺大的,由下图可以看出,使用 average damping 只需要11次就可以找到符合要求的答案,而不用则要27次。这道题目难度不大,计算部分直接修改书上 1.3.3 的公式就行,然后把每次的猜测值打印出来就行。原创 2024-08-29 11:55:18 · 501 阅读 · 0 评论 -
sicp每日一题[1.34-1.35]
的解是黄金分割比例就是简单的一元二次方程求解,这里就不说明了,利用。程序求解也很简单,直接把书上1.3.3部分的程序拿来用就行。需要一个程序来作为参数,而我们传了个数字2给它。answer: 执行之后报错了,因为。answer: 证明。原创 2024-08-28 12:57:07 · 682 阅读 · 0 评论