基礎算法題——牛頓迭代法求近似平方根

方法描述:

首先隨便猜一個近似值x,然後迭代地令x=(x+a/x)/2,迭代個六七次後x的值就已經相當精確了。

代碼實現:

int newtonSqrt(int x) {
	if (x == 0) return 0;
	double last = 0;
	double res = 1;
	while (abs(last-res)>1e-9)
	{
		last = res;
		res = (res + x / res) / 2;
	}
	return int(res);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章