设万维读者为首页 广告服务 联系我们 关于万维
简体 繁体 手机版
分类广告
版主:
万维读者网 > 灵机一动 > 帖子
哈哈哈,我的 SICP exec1.19 的代码又修改了一下
送交者: 酸亦鲜 2021年04月06日01:25:45 于 [灵机一动] 发送悄悄话
哈哈哈,我的 SICP exec1.19 的代码又修改了一下。速度已经与课本上的代码一样快了。看以下的代码和实测结果,耗时基本一样了。主要的耗时在于每一步要做多少次乘法。我用了两个变量暂存一下乘法的结果,与课本的代码一样每步只要做五次乘法。因为大家都是O(log n),故一样快。前两贴的那个代码会比课本上的代码慢一点,因为要做八次乘法而课本的只需要做五次乘法。

程序和实测结果如下:

(define (fast_fib_my n)
    (define (fast_fib‑iter a b u v s t count)
        (cond ((= count 0) b)
              ((even? count)
                  (let ((tmp1 (+ u t))
                        (tmp2 (* s v)))
                    (fast_fib‑iter
                        a
                        b
                        (+ (* u u) tmp2)
                        (* v tmp1)
                        (* s tmp1)
                        (+ (* t t) tmp2)
                        (/ count 2))))
              (else (fast_fib‑iter
                        (+ (* u a) (* v b))
                        (+ (* s a) (* t b))
                        u
                        v
                        s
                        t
                        (‑ count 1)))))
          (fast_fib‑iter 1 0 1 1 1 0 n))

(define (fast_fib_text n)
    (define (fast_fib‑iter a b p q count)
      (cond ((= count 0) b)
            ((even? count)
              (fast_fib‑iter
                a
                b
                (+ (* p p) (* q q))   ; compute p′
                (+ (* 2 p q) (* q q)) ; compute q′
                (/ count 2)))
            (else
              (fast_fib‑iter
                (+ (* b q) (* a q) (* a p))
                (+ (* b p) (* a q))
                p
                q
                (‑ count 1)))))
    (fast_fib‑iter 1 0 0 1 n))

(define (fib_iterative n)
    (define (fib‑iter a b count)
        (if (= count 0)
            b
            (fib‑iter (+ a b) a (‑ count 1))))
    (fib‑iter 1 0 n))

(fast_fib_text 524288)
(fast_fib_my 524288)
(fib_iterative 524288)



点图片能得大图


https://bbs.creaders.net/upfile/images/20210406/20210406012048_34893.png





(答案在下边找,不要偷看)



(请将窗口往下移)

























(请将窗口往下移)

























(请将窗口往下移)

























(请将窗口往下移)

























(请将窗口往下移)



























点图片能得大图


https://bbs.creaders.net/upfile/images/20210104/20210104011206_59157.jpg



(多图)没病走两步。请指出下面的方框图哪里错了40年。

没病走两步。请指出下面的方框图哪里错了40年。谬种流传得还挺广的嘛。始作俑者是谁?当年看的课本就个个字都认识,就是不知他在说啥。计算机课本都这样,不懂的怎么看也看不懂,懂了就一看就觉得写得“很”好。

中华民族真他妈的可耻至极。改革开放后毕业的几百万计算机专业毕业生,还有整天牛屄红红自诩为“学习成绩‘很’好”的北大清华计算机系毕业生,不但没找出正确的答案,连有错都没怀疑。改革开放后40年了这个图居然还在“考研”补习班上讲。让帝国主义间谍领事馆“文化参赞”抄了回去,岂不使牠们坚信所谓“华为鸿蒙”就是个虚张声势的“哄蒙”?看来“华为”这次被制裁是在劫难逃的了。

想知道答案,就快点去传播下边的“投票方法”。如果那个叫Andrew的能因为群众接受并运用“投票方法”而选上总统鸟位我就告诉你们答案。现在的这个世界,真心崇拜并听从真正的聪明人的人是不多了。个个都要假装聪明,并且贬低掩盖别人的真聪明来骗取群众的崇拜。算了。我放弃你们了。

如果课本是错的,你们还考一百分,不能证明什么,只能证明你们是垃圾。



点图片能得大图


http://bbs.creaders.net/upfile/images/20200117/20200117131600_45301_big.png

如果课本是错的,你们还考一百分,不能证明什么,只能证明你们是垃圾。



点图片能得大图


http://bbs.creaders.net/upfile/images/20200117/20200117131615_88289_big.png

如果课本是错的,你们还考一百分,不能证明什么,只能证明你们是垃圾。



点图片能得大图


http://bbs.creaders.net/upfile/images/20200117/20200117131621_75284_big.png

如果课本是错的,你们还考一百分,不能证明什么,只能证明你们是垃圾。



点图片能得大图


http://bbs.creaders.net/upfile/images/20200117/20200117131627_68187.png

如果课本是错的,你们还考一百分,不能证明什么,只能证明你们是垃圾。



点图片能得大图


http://bbs.creaders.net/upfile/images/20200117/20200117131635_29299.png

答案: NA


0。假如民主真的不可避免,群众应当怎样投票才能够在选举中取得最大利益
0。假如民主真的不可避免,群众应当怎样投票才能够在选举中取得最大利益
0。假如民主真的不可避免,群众应当怎样投票才能够在选举中取得最大利益
0。假如民主真的不可避免,群众应当怎样投票才能够在选举中取得最大利益

1。亞伯拉罕·艾達方法(AAM)
http://bbs.creaders.net/tea/bbsviewer.php?trd_id=1309073
2。鵓鴿方法
http://bbs.creaders.net/tea/bbsviewer.php?btrd_id=4888828&btrd_trd_id=1301593
3。看妖妖之前或之後的作品點此
http://bbs.creaders.net/life/bbsviewer.php?trd_id=1449691
4。看妖妖的附加題點此
http://bbs.creaders.net/iq/bbsviewer.php?trd_id=1362146


東窗集

0%(0)
0%(0)
标 题 (必选项):
内 容 (选填项):
实用资讯
回国机票$360起 | 商务舱省$200 | 全球最佳航空公司出炉:海航获五星
海外华人福利!在线看陈建斌《三叉戟》热血归回 豪情筑梦 高清免费看 无地区限制
一周点击热帖 更多>>
一周回复热帖
历史上的今天:回复热帖
2020: 趣味的数学-313