Blog de Jose Alvarado

Jose Alvarado

Venezolano. 21 años. Estudiante de ingeniería civil y desarrollador web.

¿Cómo hacer la raíz cuadrada en Go por el método de Newton?

hace 19 meses por
josealvaradoo

Algo que me pareció interesante era como desarrollar un algoritmo que determinara la raíz cuadrada de un número siguiendo el método de Newton. Método que se puede hacer a mano aunque es un poco engorroso, pero hacer un código que lo resuelva por ti es mejor. Se puede hacer en cualquier lenguaje, pero ésta vez quiero mostrar como sería haciéndolo en el lenguaje Go.

Este ejercicio aparece también en el tour de golang mientras vas aprendiendo el lenguaje.

package main

import (
    "fmt"
    "math"
    )

func raizNewton(x float64) float64 {

    z := float64(1)
    for i:=0; i<20; i++ {
        z = z - (z*z-x)/(2*z)
    }

    return z;
}

func main {
    // Elegimos 43 como número.
    resultado := raizNewton(43);
    fmt.Println(resultado);

    // Para verificar que funciona sacamos la raíz con la librería math de Go
    fmt.Println(math.Sqrt(43));
}

Y esto sería todo el código para tener una función que calcule la raíz cuadrada de cualquier número basándose en el Método de Newton usando un ciclo for.