您的位置:首页 > 编程语言 > Go语言

[Go语言]我的第一个Go语言程序

2016-07-19 18:38 489 查看


Exercise: Loops and Functions

As a simple way to play with functions and loops, implement the square root function using Newton's method.

In this case, Newton's method is to approximate 
Sqrt(x)
 by picking a starting point z and
then repeating:



To begin with, just repeat that calculation 10 times and see how close you get to the answer for various values (1, 2, 3, ...).

Next, change the loop condition to stop once the value has stopped changing (or only changes by a very small delta). See if that's more or fewer iterations. How close are you to the math.Sqrt?

package main

import (
"fmt"
"math"
)

var delta = 0.00001

func Sqrt(x float64) float64 {
z := 1.0
var z1 float64
z1 = z - (z * z - x) / (2 * z)
for math.Abs(z1 - z) > delta {
z = z1
z1 = z - (z * z - x) / (2 * z)
}
return z1;
}

func main() {
fmt.Println(Sqrt(2))
fmt.Println(math.Sqrt(2))
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go