// 说明:以下用到的 [] 表示下标比洳X[0]就是X0
// 计算n的平方根x,就是找一个x值使其满足 x*x=n 也就是求 f(x)=x*x-n 这个二次方程的解。
// 一:直接计算 f(x[i]) 的结果看是否为0;
// 二:判断前后两个解x[i]和x[i+1]是否无限接近。(这里的接近程度可以自己控制也就实现了对结果精度的控制)
// 下面的代码用的是 方法二 判断解是否正确。
// 经过 (x[i],f(x[i])) 这个点的切线是一个一次函数假设这个一次函数为 y=kx+b ,因为是切线斜率k就是f(x)在x[i]处的导数。
// 上面就是牛顿迭代法的迭代式得到迭代式后就进行编程了
float res = x/2+1; // 这里是先估计一个和解,这里估计的解约接近正确答案下面循环次数就会越少。
last = res; // 保留上一个横坐标用于判断是否已经得到足够精确嘚答案