Description

Implement int sqrt(int x).

Compute and return the square root of x.

Example

sqrt(3) = 1

sqrt(4) = 2

sqrt(5) = 2

sqrt(10) = 3

Challenge

O(log(x))

题意:求给定数的平方根,如果用一般的方法,例如二分法之类的,需要考虑一下int型的范围,别溢出。最好的方法时牛顿迭代法。代码如下:

public class Solution {
/**
* @param x: An integer
* @return: The sqrt of x
*/
public int sqrt(int x) {
// write your code here
//牛顿迭代法求平方根
double p=2.0;
double pre=0;
while(Math.abs(p-pre)>1e-6){
pre=p;
p=(p+x/p)/2.0;
}
return (int)p;
}
}

关于牛顿迭代法在平方根上的应用原理,参阅博客: http://www.matrix67.com/blog/archives/361

141. Sqrt(x)【牛顿迭代法求平方根 by java】的更多相关文章

  1. C语言之基本算法11—牛顿迭代法求平方根

    //迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...

  2. Java实现牛顿迭代法求解平方根、立方根

    一.简介 牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法. ...

  3. ytu 1041: 迭代法求平方根(水题)

    1041: 迭代法求平方根 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 227  Solved: 146[Submit][Status][Web Bo ...

  4. 【清橙A1094】【牛顿迭代法】牛顿迭代法求方程的根

    问题描述 给定三次函数f(x)=ax3+bx2+cx+d的4个系数a,b,c,d,以及一个数z,请用牛顿迭代法求出函数f(x)=0在z附近的根,并给出迭代所需要次数. 牛顿迭代法的原理如下(参考下图) ...

  5. YTU 2405: C语言习题 牛顿迭代法求根

    2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec  内存限制: 128 MB 提交: 562  解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...

  6. 【Java例题】4.4使用牛顿迭代法求方程的解

    4. 使用牛顿迭代法求方程的解:x^3-2x-5=0区间为[2,3]这里的"^"表示乘方. package chapter4; public class demo4 { publi ...

  7. 数学相关比较 牛顿迭代法求开方 很多个n的平方分之一

    牛顿迭代法求开方 牛顿迭代法 作用: 求f(x) = 0 的解 方法:假设任意一点 x0, 求切线与x轴交点坐标x1, 再求切线与x轴交点坐标x2,一直重复,直到f(xn) 与0的差距在一个极小的范围 ...

  8. 牛顿迭代法--求任意数的开n次方

    牛顿迭代法是求开n次方近似解的一种方法,本文参考. 引言 假如\(x^n = m\),我们需要求x的近似值. 我们设\(f(x) = x^n - m\), 那么也就是求该函数f(x)=0时与x轴的交点 ...

  9. JustOj 1036: 习题6.11 迭代法求平方根

    题目描述 用迭代法求 .求平方根的迭代公式为: X[n+1]=1/2(X[n]+a/X[n]) 要求前后两次求出的得差的绝对值少于0.00001. 输出保留3位小数 输入 X 输出 X的平方根 样例输 ...

随机推荐

  1. Gdb调试工具/ Makfile项目管理

    gdb调试工具 gcc -g main.c -o main 常用命令 命令            简写         作用 help                h            按模块列 ...

  2. 超强windows10稳定Nginx绿色环境,可无限自定义PHP和mysql版本、同时运行N个版本

    转载自互联网, 小编发现最近PHPWAMP集成环境的作者Lccee,又更新了phpwamp8.8.8.8n版本 phpwamp8.8.8.8n一共集成了12个PHP版本和3个mysql版本,并且可以高 ...

  3. 重装win7系统的过程

    U盘重装系统准备工作: 1.下载一个制作U盘系统的软件,随便哪个都行,把U盘变成系统盘 2.下载镜像,将镜像copy到系统盘内即可(无需解压) 3.进入BIOS系统,将boot进行设置,将U盘设置为第 ...

  4. java中形参的可变参数的定义(如String... args) .

    如果有下面的一个笔试题: 已知我们有如下的调用关系 logIt(”log message 1 “); logIt(”log message2”, " log message3”); logI ...

  5. c++计算器后续(5)

    自娱自乐: 大概是重新开始玩qt,然后MFC和第四步附加的作业大概不会去玩了.以上. QT相关: 阶段一: 原来作业里举了qt和mfc这两个做界面的东西,网上都说qt容易上手,学了mfc再来看qt简直 ...

  6. WebDAV漏洞直接远程溢出拿下服务器

    以上是 我做的幻灯片 介绍什么是WebDAV 有什么用 漏洞测试需要的工具 http://pan.baidu.com/s/1o6DYxAE看到这里 说明直接远程溢出 提升权限为system 这些都很久 ...

  7. android--简单的发短信功能

    一.准备字符资源 <string name="tip_phone">请输入电话号码</string> <string name="tip_s ...

  8. 消息中间件--"rocketmq"01之环境搭建

    前置知识 ssh工具 连接linux工具SecureCRT 颜色设置,参考 中文乱码,参考 Linux相关知识 centos7 防火墙firewalld的基本使用,参考 启动: systemctl s ...

  9. luogu P3381【模板】最小费用最大流

    嘟嘟嘟 没错,我开始学费用流了! 做法也是比较朴素的\(spfa\). 就是每一次以费用为权值跑一遍\(spfa\)找到一条最短路,然后把这条道全流满,并把这一次的流量和费用累加到答案上.因此我们需要 ...

  10. 20165302 实验一 java开发环境的熟悉

    20165302实验一 java开发环境的熟悉 一,实验内容与步骤 1.命令行下java程序开发 ①待编译运行代码 package csj; import java.util.Scanner; pub ...