3323: 05-CM07-08-二分法求x的平方根

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

输入正整数x,用二分答案的方式求小于或等于x的平方根的最大正整数。具体方法为:定义low=1, high=x, mid,在二分查找的循环中,每次取mid = ( low + high ) / 2,如果mid*midx,则在前半段即[low, mid-1]找,否则就退出循环。注意,退出循环时,mid肯定是最接近于x的平方根的正整数,但可能大于也可能小于,根据本题的要求还要判断一下。

输入

输入数据占一行,求一个正整数x,不超出int型范围。注意,虽然x不超出int型范围,但由于程序中会用到乘法,所以还是需要用long long型。

输出

输出占一行,为求得的答案。

样例输入 复制

1000

样例输出 复制

31

提示

正整数x,不超出int型范围。