005-x的平方根

西特张

关注

阅读 65

2022-05-04

二分查找的方法来实现x的平方根的求解

public static int binarySearch(int x)
{
	int index = -1,left = 0,right = x;
	while(left<=right)
	{
		int mid = (left+right)/2;
		if(mid*mid<=x)
		{
			index = mid;
			left = mid+1;
		}
		else
		{
			right=mid-1;
		}
	}
	return index;
}

使用牛顿迭代的方法计算x的平方根

public static int newton(int x)
{
	if(x==0)return 0;
	else return (int)trueSqrt(x,x);
}

public static double trueSqrt(double i,int x)
{
	double res = (i+x/i)/2;
	if(res==i)return i;
	else return trueSqrt(res,x);
}

精彩评论(0)

0 0 举报