java计算立方根的函数_为什么我的立方根算法错了?在SICP练习1.8

>已修复,

这不是一个庞大的数字,只是两个巨大数字的一小部分,所以我得到了一个误报 . 算法是正确的;现在修改最后一个输入参数,解释器将其检索为十进制逗号,并且看起来像它一直是的小数字 .

我正在从SICP做练习1.8,当我评估算法时,Scheme的解释器̵f̵̵r̵̵e̵̵e̵̵z̵̵e̵s̵会返回错误的答案 . 有人知道为什么吗?

牛顿立方根的方法基于如下事实:如果y是x的立方根的近似值,那么值(x /(y ^ 2)(2 * y))/ 3给出更好的近似 . 使用此公式实现类似于平方根过程的立方根过程 .

(define (cubert x)

(cubert-iter x x 1))

(define (cubert-iter x previous guess)

(if (good-enough previous guess)

guess

(cubert-iter x guess (improve x guess))))

(define (improve x guess)

(/ (+ (/ x

(square guess))

(* 2

guess))

3))

(define (good-enough previous guess)

(< (/ (max (square previous)

(square guess))

(min (square previous)

(square guess)))

tolerance))

(define tolerance 2)

(cubert 1000)̴f̴̴r̴̴e̴̴e̴̴z̴̴e̴s̴给出一个巨大的100位数字(cubert 27)返回类似于3049534534593845092305345它可能有一个评估顺序错误,但我看不到它

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值