[Conceptos básicos de Golang] Go implementa la iteración de Newton para calcular raíces cuadradas

Go implementa la iteración de Newton para calcular la raíz cuadrada

El principio matemático del cálculo iterativo de Newton de la raíz cuadrada no se explica aquí, y se da la fórmula iterativa: x ^ 2 = a se
calcula para obtener el valor de x. Puede utilizar la siguiente fórmula para el cálculo iterativo: La siguiente es la versión de implementación del lenguaje Go, como ejercicio de aprendizaje de Golang.
Fórmula iterativa de la raíz cuadrada de Newton

package main

import (
	"fmt"
	"math"
)

func Sqrt(x float64) float64 {
    
    
	lim := 1e-8		#迭代精度
	count := 100	#最大迭代次数
	now_index := 0
	z_old := x		#初始化
	z_new := x/2
	for (now_index < count) && math.Abs(z_new - z_old) > lim{
    
    
		z_old = z_new
		z_new = (z_old*z_old + x)/(2*z_old)		#迭代公式
		now_index = now_index + 1
	}
	return z_new
}

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

Supongo que te gusta

Origin blog.csdn.net/qq_37753409/article/details/108951046
Recomendado
Clasificación