設萬維讀者為首頁 廣告服務 聯繫我們 關於萬維
簡體 繁體 手機版
分類廣告
版主:
萬維讀者網 > 靈機一動 > 帖子
哈哈哈,我的 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