题解 | #求解立方根#

求解立方根

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)
}


全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务