c_cpp 平方根,二分查找

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 平方根,二分查找相关的知识,希望对你有一定的参考价值。

#include<bits.stdc++.h>
using namespace std;

int mySqrt(int A) {
    if(A==0){
        return 0;
    }
    long l=0,r=A;
    while(l<r){
        if(l==r-1){
            if(r*r==A){
                return (int)r;
            }else{
                return (int)l;
            }
        }
        long m=l+(r-l)/2;
        if(m*m==A){
            return m;
        }else if(m*m<A){
            l=m;   
        }else{
            r=m;
        }
    }
}

int main(){
    int n;
    cin>>n;
    cout<<mySqrt(n)<<endl;
    return 0;
}

以上是关于c_cpp 平方根,二分查找的主要内容,如果未能解决你的问题,请参考以下文章

二分查找1x的平方根(easy)

二分查找1x的平方根(easy)

69. x 的平方根-二分查找

x 的平方根(二分查找)

leetcode - 二分查找

leetcode - 二分查找