这是leetcode上的一题简单题,不过解法上有一种美妙的解法
,用到的思想是牛顿迭代法(牛顿tql)

1 class Solution { 2 public int mySqrt(int x) { 3 if(x == 0){ 4 return 0; 5 } 6 double C = x,X0 = x; 7 double ans; 8 while(true){ 9 double Xi = 0.5 * (X0 + C / X0); 10 if(Math.abs(X0 - Xi) < 1e-7){ 11 break; 12 } 13 X0 = Xi; 14 } 15 return (int)X0; 16 } 17 }