zoukankan      html  css  js  c++  java
  • 【SICP练习】3 练习1.7

    

    练习1.7

    这道题回应了第15页所说的good-enough?并不是一个很好的检测方法。

    我们首先来按照题目要求用4组最大或最小的数来检测原文中的good-enough?

    (sqrt-iter 1.0 0.00000081)              0.0009

    ;Value: 0.3125863108711088

    (sqrt-iter 1.0 0.000000014)            0.00012

    ;Value: 0.3125015344984974

    通过以上两个例子相信已经很明显了,至于最大的数字我就不再测试了,因为我刚刚测试了一个十六位数的然后卡死了。

    以下是我写的改进后的good-enough?

    (define (good-enough? guess x)

            (good-enough-1?guess (improve guess x)))

    (define (good-enough-1? guess1 guess2)

            (<(abs (/ (- guess2 guess1) guess1)) 0.00001))

    我们依旧来通过测试说明没问题,以下是测试结果。

    (sqrt-iter 1.0 0.00000016)

    ;Value: 4.000016244484425e-4

    (sqrt-iter 1.0 152399025)

    ;Value: 12345.000014803034

    看得出来和结果已经非常相似了。当然,good-enough?肯定还有非常多的检测方法。


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

  • 相关阅读:
    bzoj 1295 [SCOI2009]最长距离 最短路
    bzoj 3669 [Noi2014]魔法森林
    bzoj 1432 [ZJOI2009]Function 思想
    用JSP输出Hello World
    Web开发基础
    JSP相关背景
    JSP概述
    Java视频播放器的制作
    为JFileChooser设定扩展名过滤
    使用JFileChooser保存文件
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786227.html
Copyright © 2011-2022 走看看