69. Sqrt(x)

来源:互联网 发布:淘宝小北名表靠谱吗 编辑:程序博客网 时间:2024/06/05 06:02

Implement int sqrt(int x).

Compute and return the square root of x.

        这个题就是实现sqrt方法,使用牛顿迭代法,采用切线的方式接近所求值比二分查找要快很多。

class Solution {public:int mySqrt(int x) {    if(!x) return x;float i = x ;float last;while (abs(i-last) > 0.00000001) {    last = i;i = (i + x / i) / 2;}int j =i;if(j * j > x)                   j--;              return j;  }};
        就是最后得到i的处理花了些时间,看了网上的写法补上了最后处理i的几行,得到正确结果。

0 0