不用sqrt()函数,如何求平方根
1:最好的是牛顿迭代法
2:其次是二分法
a=s(19)
#不用函数实现开方
def s(n):#循环法if n<0:return -1else:for i in range(1,n,0.001): #python 的range不能使用小数while(i*i-n>1e-9)or(i*i-n<-1e-9):continuereturn i#失败def s(n):#二分法,构造函数f(x)=x*x-n,然后构造上下界[1,n],比较mid=(start+end)/2.0,比较mid*mid-n和极小值的大小1e-9,\#如果大于0,则将上界变小,end=mid,如果小于0,说明mid小于正确值,应该将下界变大,start=mid#19只需要36次i=0if n<0:return -1else:start=1end=nmid=(start+end)/2.0while (mid*mid-n)>1e-9 or ((mid*mid-n)<-(1e-9)):i=i+1print i,midif (mid*mid-n>1e-9):end=midelif(mid*mid-n<-1e-9):start=midmid=(start+end)/2.0print i,midreturn mid#失败def s(n):#最好的用牛顿迭代法,19只需要6次i=0if n<0:return -1else:start=1while(start*start-n)>1e-9 or ((start*start-n)<-(1e-9)):start=(start+n/start)/2.0i=i+1print i,startreturn start
不用sqrt()函数,如何求平方根相关推荐
- 不用sqrt()函数,求平方根的三种方法
最近看到了这个比较有意思的题目,探究了一下. 文章目录 1.二分法 2.牛顿法 3.来自于Quake III源码的解法 4.完整代码 参考 当然有最暴力的方法,直接遍历,(0.0, x)区间内所有的数 ...
- 用matlab画5日均线,用MATLAB求移动平均线,不用MOVAVG函数,求MA5,MA10 – MATLAB中文论坛...
移动平均线,简称均线.它是将某一段时间的收盘价之和除以该周期. 比如日线MA5指5天内的收盘价除以5 .请在一张图中用三种不同颜色绘制该股票收盘价数据.5日移动平均MA5.10日移动平均MA10. 时 ...
- Matlab自适应均线_用MATLAB求移动平均线,不用MOVAVG函数,求MA5,MA10 – MATLAB中文论坛...
移动平均线,简称均线.它是将某一段时间的收盘价之和除以该周期. 比如日线MA5指5天内的收盘价除以5 .请在一张图中用三种不同颜色绘制该股票收盘价数据.5日移动平均MA5.10日移动平均MA10. 时 ...
- golang语言牛顿法求平方根
package mainimport ("fmt" )// 作为练习函数和循环的简单途径,用牛顿法实现开方函数. // 在这个例子中,牛顿法是通过选择一个初始点 z 然后重复这一过 ...
- 用python实现二分法求平方根_二分法求平方根(Python实现)
使用二分法(Bisection Method)求平方根. def sqrtBI(x, epsilon): assert x>0, 'X must be non-nagtive, not ' + ...
- 【转】 不适用Sqrt函数开方,精度小于指定精度
给定一个数A,不使用sqrt函数,求A的开方,要求精度大于0.0001 该题有两种方法求解:①牛顿迭代法:②二分法 ①牛顿迭代法: 1.牛顿迭代法知识: 牛顿迭代法(Newton's method)又 ...
- sqrt函数模拟实现的两种方法
起因:在leetcode刷题时,有一道题目考察了有关sqrt的原理的题目,当时就去查了网上的文章,结果发现,一开始的时候看的很懵,最后也是搞定了两种方法,今天我就以最简单的方式写下这两种方式的思路讲解 ...
- 求平方根sqrt()函数的底层算法效率问题
我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...
- 【Python】Python 中sqrt函数求负数的平方根
Python的 math模块 中 sqrt 函数求负数平方根会报如下的错误 实例: 上述 math 模块中 sqrt 函数只能进行浮点数的运算.我们知道负数的平方根是虚数(以及复数,即实数和虚数之和) ...
最新文章
- 人工智能恶意使用报告:预测、预防和缓解
- Windows Live Writer连接sharePoint博客时,有一个权限相关的BUG
- Centos 7 安装 Haproxy
- Web 之困 现代Web应用安全指南一本好书 69.00?
- 在TCP客户端连接成功的回调函数里,无法访问到客户端套接字的明细
- oracel Pipelined pipe row的用法
- 查找满足断言的第一个元素
- 用JS写了一个模拟串行加法器
- RuoYi-Cloud 部署篇_04(windows环境 mysql+nginx版本)
- 高级JAVA - 高并发下接口限流 Semaphore
- Protocol Buffers 学习(6):文件 | 字段选项介绍
- 选择语句详解(C++)
- linux libsqlite3 dev,在centos中安装sqlite3 dev和其他软件包
- HTML+CSS零基础学习笔记(二)
- android dmp文件解析,用minidump_stackwalk分析dmp文件失败
- HTML颜色与RGB颜色的转换
- NAIPC2018-K-Zoning Houses
- 云服务器(Centos7)搭建jdk环境
- win11系统下安装lighttools8.6无加密狗版的方法
- 价值投资私募基金三人谈
热门文章
- 解析机器人流程自动化技术的原理
- 爬取在行平台数据(1)——动态加载页面分析
- 【总结】1263- 弄懂 SourceMap,前端开发提效 100%
- 罗振宇2022“时间的朋友”跨年演讲全文稿(pdf)
- python编程基础知识点总结_【转载】Python编程中常用的12种基础知识总结
- 对英特尔在嵌入式市场的几个猜想
- python runner功能_Appium+python自动化(二十三)- 真假美猴王Monkeyrunner与Monkey傻傻的分不清楚(超详解)...
- 关于Python的虚拟环境
- 城市垃圾渗滤液除氨氮的技术分享
- Java安全攻防之从wsProxy到AbstractTranslet