实现 int sqrt(int x)
函数,计算并返回 x 的平方根。
样例:
sqrt(3) = 1
sqrt(4) = 2
sqrt(5) = 2
sqrt(10) = 3
class Solution {
public:
/**
* @param x: An integer
* @return: The sqrt of x
*/
int sqrt(int x) {
int i = 0;
for(int j = 0; j <= x; j++)
{
int judge = x/pow(10, j);
if(judge >= 1 && judge < 10 )
{
if (j % 2 == 0 )
{
i = pow(10, j/2);
}
else if(j % 2 == 1)
{
i = pow(10, (j-1)/2);
}
int rest = x / pow(10, j);
for(int m = 0; m <= rest; m++)
{
if(pow(m, 2) == rest)
{
i = i * m;
}
else if(pow(m, 2) < rest && pow(m+1, 2) > rest){
i = i * m;
}
}
break;
}
}
for(;i <= x; i++)
{
if(i*i == x)
{
return i;
}
else if(pow(i, 2) < x && pow((i+1), 2) > x)
{
return i;
}
}
}
};