牛顿平方根公式算法

牛顿平方根公式:http://zh.wikipedia.org/wiki/%E5%B9%B3%E6%96%B9%E6%A0%B9#.E7.89.9B.E9.A0.93.E6.B3.95
效果:

代码:

	var xk1 = 0; //保存第n次计算值
	var xk = 1;  //假设第一次计算时候的初始值为1
	var num = 1024; //要开方的数
	var count = 0;
	function doDd(nextXk){
		count += 1;
		//nextXk表示下一次要传人的xk值,第一次为1
		xk1 = ( nextXk +  num/nextXk )/2;
		//继续递归的条件判断
		if( Math.abs(nextXk - xk1) >= 0.00001 ){
			doDd(xk1);
		}
	}
	function dd(){
		count = 0;
		num = document.getElementById("input_count").value;
		//传入初始值xk=1,调用递归计算
		doDd(xk);
		//弹出结果
		alert(num + "计算了" + count +"次,结果是"+xk1);
	}