x的平方根-二分法基于Go

不能使用sqrt函数,得到x的平方根的整数部分(x>0)。

package main

import "fmt"

func mySqrt(x int) int {
    var left = 0
    var right = x
    
    for left<=right{
        mid := (left+right)/2
        if mid*mid==x{
            return mid
        }else if mid*mid<x{
            left = mid+1
        }else if mid*mid>x{
            right = mid-1
        }
    }
    return right
}

func main(){
	fmt.Println(mySqrt(24))
}
原文地址:https://www.cnblogs.com/pangqianjin/p/14628048.html