LeetCode-Sqrt(x)-解题报告

原创 2015年07月08日 20:55:59

原题链接 https://leetcode.com/problems/sqrtx/

Implement int sqrt(int x).

Compute and return the square root of x.


用数学的方法求解sqrt(x)


可以使用牛顿迭代法,也可以使用二分法。

我使用的是牛顿迭代法,前段时间看到一个求解x^(-2)的快速解就用的是牛顿迭代法。


设 x^2 - n == 0 方程的非负根便是解。f '(x) = 2x, 

对于点(x0,f(x0)),对过该点原图像的切线方程为y - f(x0) = 2x0(x - x0),

该切线与x轴的交点更接近正确解。

 x比x0更接近准确解。

化简后得到 ,迭代值x与x0的值相差为1e-10是停止迭代。





class Solution {
public:
   int mySqrt(int x) {
		if (x == 0)return 0;
		double  cur = x;
		double pre;
		do{
			pre = cur;
			cur = (cur + x / cur) / 2;
		} while (abs(cur - pre) > 1e-10);
		return (int)cur;
	}
};


网x速x数x据x流x量x

package com.android.systemui.statusbar.policy; import android.widget.TextView; import android.os.H...
  • tyh123456789
  • tyh123456789
  • 2015年06月01日 23:08
  • 299

《不想装X的傻X不是好二X》

《不想装X的傻X不是好二X》 作者:李华治   你受过良好的教育,有意无意间说起自己的大学,旁人无一例外纷纷投来艳羡目光。你工作光鲜,不是四大就是4A,不是垄断国企就是全球500强;在一个都是 ...
  • lvwenwen88
  • lvwenwen88
  • 2013年04月16日 13:43
  • 2619

第一部分 数理逻辑 第五章 一阶逻辑等值演算与推理

1 - 要点 等值式:设A,B是一阶逻辑公式,若A↔B为永真式,则称A与B等值,记为A⇔B 基本等值式: 第一组:命题逻辑中基本等值式的代换实例 第二组:一阶逻辑中的重要公式 (1)在有限个体域中的重...
  • superloi
  • superloi
  • 2015年01月11日 12:15
  • 567

X窗口 X 事件 X显示

X 事件 X显示 X窗口
  • middilestep
  • middilestep
  • 2014年08月08日 16:26
  • 358

逻辑运算0==x和x==0详解

看许多大牛写的程序常常看到if(0==x){执行体},而自己写的程序常常使用if(x==0){执行体}。刚开始的时候我还很自信的认为这种表达方式是等价的,大牛们只是为了显摆下与众不同的格调。当读到C语...
  • gexiaochuan122
  • gexiaochuan122
  • 2014年08月29日 16:16
  • 727

Python入门 之 列表生成式

Python入门 之 列表生成式1. 生成列表要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11):>>> range(1, 11) [1...
  • Heartyhu
  • Heartyhu
  • 2016年03月26日 17:54
  • 1024

Python中的Lambda表达式小析

Lambda表达式在Python中经常使用到,在此总结下Lambda表达式的常用方法。 首先,要明白Lambda表达在Python中是作为一个匿名函数的构造器而存在。其次,要明白Lambda...
  • vernice
  • vernice
  • 2015年06月06日 06:33
  • 7986

Solve It(二分解方程)

Solve the equation: p ∗ e^−x + q ∗ sin(x) + r ∗ cos(x) + s ∗ tan(x) + t ∗ x^2 + u = 0 where 0 ≤ x ...
  • Techay
  • Techay
  • 2015年10月22日 00:13
  • 255

使用sh -x调试shell脚本

http://blog.chinaunix.net/uid-20564848-id-73502.html
  • beckdon
  • beckdon
  • 2014年06月25日 16:47
  • 3006

ORACLE X$表命名约定

X$表命名约定 [K]ernel Layer [2]-Phase Commit [G]lobal [T]ransaction [E]ntry X$K2GTE - Current 2PC...
  • ilovemilk
  • ilovemilk
  • 2013年05月04日 15:38
  • 1796
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode-Sqrt(x)-解题报告
举报原因:
原因补充:

(最多只允许输入30个字)