牛顿迭代法逼近算法:
迭代公式为f(n+1) = (f(n) + x/f(n))/2
/**
* @program: Sword_to_Offer
* @author: GoKu
* @create: 2019-09-21 17:39
*/
public class 求平方根 {
static float sqrt(float a){
float fn = 1;
float newfn = (fn + a/fn)/2;
while(Math.abs(newfn - fn) >= Float.MIN_NORMAL){
fn = newfn;
newfn = (fn + a/fn)/2;
}
return newfn;
}
public static void main(String[] args) {
float a = 4;
System.out.println(sqrt(a));
}
}