题解 | #平方根#

平方根

https://ac.nowcoder.com/acm/problem/22003

二分法求平方根:

#include<iostream>
using namespace std;
int bioSearch(int x){
    int left = 0;
        int right = x;
        int ans = -1;
        while(left <= right){
            int mid = left + (right - left)/2;
            if((long long)mid*mid > x){
                right = mid - 1;
                ans = right;

            }
            else if((long long)mid*mid < x){
                left = mid + 1;

            } 
            else return mid;


        }
        return ans;

}
int main(){
    int n;
    cin >> n;
    int y = bioSearch(n);
    cout << y <<endl;

}
全部评论

相关推荐

投递腾讯云智研发等公司9个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务