GO 指南 练习题 牛顿法求平分根

KKANDKK · 2017-08-22 12:01:09 · 1214 次点击 · 预计阅读时间不到 1 分钟 · 大约8小时之前 开始浏览    
这是一个创建于 2017-08-22 12:01:09 的文章,其中的信息可能已经有所发展或是发生改变。

mark

package main

import (
    "fmt"
)

func Sqrt(x float64) float64 {
    const E = 0.000001
    z :=float64(1)
    for z*z - x > E || z*z - x < -E {
         z = (z+x/z)/2;
    } 
    return z
}

func main() {
    fmt.Println(Sqrt(2))
}

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1214 次点击  
加入收藏 微博
3 回复  |  直到 2017-08-28 07:22:06
channel
channel · #1 · 7年之前

啥叫牛顿法?

KKANDKK
KKANDKK · #2 · 7年之前
channelchannel #1 回复

啥叫牛顿法?

我在看Go指南,里面有一道练习题,我就是写个笔记而已

shileislslsl
shileislslsl · #3 · 7年之前

@channel 牛顿法就是对一个连续函数上取两点做乘法,为负数则可以确定两点间有一个根,然后不断缩小两点间距离,得到一个近似解。

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传