牛顿平方根公式: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); }