题解 | #求解立方根#

求解立方根

https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca

牛顿法:

要求 f(x)=y 的解,记 g(x) = f(x) -y,牛顿法求根:
x_{n+1} = x_n - \frac{g(x)}{g'(x)}

package main

import (
    "fmt"
    "math"
)

func main(){
    var n float64
    fmt.Scanf("%f", &n)
    x0 := 3.0
    x1 := 1.0
    for math.Abs(x1-x0) > 1e-2{
        x1, x0 = x0-(x0*x0*x0 - n)/(3*x0*x0), x1
    }
    fmt.Printf("%.1f", x1)
}
简单点:
package main
 
import "fmt"
import "math"
 
func main(){
    var num float64
    fmt.Scanln(&num)
    precise := 1e-3
    t := num
    for math.Abs(t*t*t - num) > precise{
        t = t - (t*t*t - num)/(3*t*t)
    }
    fmt.Printf("%.1f", t)
}


全部评论

相关推荐

我已成为0offer的糕手:别惯着,胆子都是练出来的,这里认怂了,那以后被裁应届被拖工资还敢抗争?
点赞 评论 收藏
分享
11-04 14:10
东南大学 Java
_可乐多加冰_:去市公司包卖卡的
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务