使用二分法(Bisection Method)求平方根。

def sqrtBI(x, epsilon):

assert x>0, 'X must be non-nagtive, not ' + str(x)

assert epsilon > 0, 'epsilon must be postive, not ' + str(epsilon)

low = 0

high = x

guess = (low + high)/2.0

counter = 1

while (abs(guess ** 2 - x) > epsilon) and (counter <= 100):

if guess ** 2 < x:

low = guess

else :

high = guess

guess = (low + high)/2.0

counter += 1

return guess

验证一下。

上面的方法,如果 X<1 ,就会有问题。因为 X (X<1)的平方根不在 [0, x] 的范围内。例如,0.25,它的平方根——0.5 不在 [0, 0.25] 的区间内。

那如何求0.25的平方根呢?

只要略微改动上面的代码即可。注意6行和7行的代码。

def sqrtBI(x, epsilon):

assert x>0, 'X must be non-nagtive, not ' + str(x)

assert epsilon > 0, 'epsilon must be postive, not ' + str(epsilon)

low = 0

high = max(x, 1.0)

## high = x

guess = (low + high)/2.0

counter = 1

while (abs(guess ** 2 - x) > epsilon) and (counter <= 100):

if guess ** 2 < x:

low = guess

else :

high = guess

guess = (low + high)/2.0

counter += 1

return guess

再检验一下:

note 5 二分法求平方根,素数,回文数

+二分法求平方根 x = float(raw_input('Enter the number')) low = 0 high = x guess = (low + high ) / 2 if x &l ...

python之二分法求平方根

前几天学完python的程序分支结构后,老师课后留了一个问题,用两种方法计算一个大于或等于 1 的实数 n 数的平方根. 描述设计一个用二分法计算一个大于或等于 1 的实数 n 的平方根的函数sqrt ...

&lbrack;转载&rsqb;求平方根sqrt&lpar;&rpar;函数的底层算法效率问题

我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然 ...

C&plus;&plus;版 - Leetcode 69&period; Sqrt&lpar;x&rpar; 解题报告【C库函数sqrt&lpar;x&rpar;模拟-求平方根】

69. Sqrt(x) Total Accepted: 93296 Total Submissions: 368340 Difficulty: Medium 提交网址: https://leetcod ...

C语言复习---迭代法,牛顿迭代法,二分法求根

一:用迭代法求 x=√a.求平方根的迭代公式为:X(n+1)=(Xn+a/Xn) /2. #define _CRT_SECURE_NO_WARNINGS #include

141&period; Sqrt&lpar;x&rpar;【牛顿迭代法求平方根 by java】

Description Implement int sqrt(int x). Compute and return the square root of x. Example sqrt(3) = 1 ...

求平方根算法 Heron’s algorithm

求平方根问题 概述:本文介绍一个古老但是高效的求平方根的算法及其python实现,分析它为什么可以快速求解,并说明它为何就是牛顿迭代法的特例. 问题:求一个正实数的平方根. 给定正实数 \(m\),如 ...

&lbrack;LeetCode&rsqb; Sqrt&lpar;x&rpar; 求平方根

Implement int sqrt(int x). Compute and return the square root of x. 这道题要求我们求平方根,我们能想到的方法就是算一个候选值的平方, ...

ytu 1041&colon; 迭代法求平方根(水题)

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

随机推荐

java 反射获取类的属性 类型 名称和值

/** * 获取属性类型(type),属性名(name),属性值(value)的map组成的list * */ private List getFiledsInfo(Object o){ Field[ ...

centos7 firewall 防火墙

在部署dubbo-monitor 和dubbo-admin zookeeper时候,外部访问不了部署好的服务,因为端口问题 ,现在把端口操作总结一下 参考: http://www.cnblogs.co ...

JavaScript 面向对象程序设计(下)&mdash&semi;&mdash&semi;继承与多态 【转】

JavaScript 面向对象程序设计(下)--继承与多态 前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员.公有实例成员.私有静态成员.公有静态成员和静态类的封装.这次我们来讨论 ...

&lbrack;AapacheBench工具&rsqb;web性能压力测试工具的应用与实践

背景:网站性能压力测试是性能调优过程中必不可少的一环.服务器负载太大而影响程序效率是很常见的事情,一个网站到底能够承受多大的用户访问量经常是我们最关心的问题.因此,只有让服务器处在高压情况下才能真正体 ...

OA系统配置文件

第一章 web.xml配置文件解读 1. web.xml文件解读 lemon OA系统的核心配置文件都放在spring目录下的具有applicationContext的前缀文件.Classpath后有 ...

sort uniq妙用

cat a b | sort | uniq > c   # c是a和b的并集 cat a b | sort | uniq -d > c   # c是a和b的交集 cat a b b | s ...

Android Studio 提高工作效率的奇技

1.ctrl+f12 ctrl+f12此快捷键可以调出当前文件的大纲,并通过模糊匹配快速跳转至指定的方法.勾选上“show anonymous classes”后其功能相当于Eclipse中的ctrl ...

JS中的onclick事件

原文链接:https://segmentfault.com/q/1010000007955542?_ea=1503986 我自己做了一下测试. 这个是在html里面直接绑定onclick事件,我打印了 ...

Postgresql 密码设置

今天下午 陷进去了 其实很简单的一个事情结果浪费了 接近一个小时. 做事情必须要细致一些. 自己的确做的不好. 这里面简单说一下pg_hba.conf 和 postgresql 密码的一些设置问题. ...

C&num;:DateTime格式增减时间

DateTime time = DateTime.Now(); DateTime XMinutesrLater = time.AddMinutes(X); // X分钟以后的时间,即在当前时间基础上增 ...

用python实现二分法求平方根_二分法求平方根(Python实现)相关推荐

  1. 怎么用python编写程序计算标准差_自学生信Python(第五天)|如何计算标准差?...

    如何计算标准差? 本人是一枚生物学的学生,由于对生物信息学特别感兴趣,于是想自学生物信息学(新手莫怪).了解到生物信息学要有编程基础,尤其是要会一门编程语言,例如:R语言.Python.Perl等,还 ...

  2. python 鱼c工作室作业_#鱼C工作室Python作业#图解python百度云

    最好的python视频教程谁有 我这里有python全套高清教学视频,非常适合新手小白,真实分享,望采纳点赞. python 网盘 python视频教程从入门到精通 有提取码:提取码:8ste 求一个 ...

  3. python科学计算教程视频_【P14】Python科学计算与图形渲染库视频课程视频教程 it教程...

    Python视频教程名称: Python科学计算与图形渲染库视频课程视频教程 Python视频教程 [IT视频教程网-www.itspjc.com] it教程 6 T6 ^9 L+ E4 C, }0 ...

  4. 趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章

    第1章 Python不是大蟒蛇 1.1 关于计算机语言 计算机程序是一组让计算机执行某种动作的指令.软件就是计算机程序的集合. 一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能 ...

  5. python 少儿趣味编程下载_零基础学Python编程(少儿趣味版)

    本书是一本少儿编程入门书,适合零基础的读者.本书以"派森号"飞船和西西船长等人的童话故事为载体,从头开始介绍了Python语言的基础语法.全书共有6个章节.每章都有约十个独立的内容 ...

  6. python扩展库导入方式_使用pip安装Python扩展库的方法

    本文节选自作者的<Python编程基础及应用>视频教程.Python编程基础及应用_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com 使用pip进行安装 ...

  7. python for loop循环程序语句_零基础学习 Python 之 for 循环语句

    写在之前 大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面.我是完全自学的 Python,所以很是明白自学对于一个人的考验,所 ...

  8. 学python去哪做项目_有哪些适合 Python 刚入门者去做的项目?

    学软件开发的都知道实战项目对于学好一门语言是很重要的.在这里可以向大家推荐几个Python实战项目 项目1.Python 图片转字符画 本课程用 50 行 Python 代码完成图片转字符画小工具.通 ...

  9. python程序不出结果_超详细的Python入门教程,1小时就可以学会

    为什么使用Python 假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是 ...

最新文章

  1. Codeforces Round #648 (Div. 2)题解 A-D
  2. Spring创建对象的三种方式以及创建时间
  3. 六年级下册百分数计算题_小学六年级数学期末考,题量较大,出题全面、灵活...
  4. WebSphere Classloader内存泄漏预防
  5. java初级学习04
  6. 用台式机搭建服务器测试环境_2020年十大最佳台式机环境
  7. Noi2016 循环之美
  8. 10分钟入门Shell脚本编程
  9. 程序员客栈(项目简介)
  10. 如何快速制作出精致的ppt模板?
  11. matlab图像粘连计数,Matlab图像处理在水稻谷粒计数中的应用
  12. 逆波兰表达式(含小数)、C语言
  13. 【读书笔记】投资中最简单的事-邱国鹭,别人恐惧我贪婪,别人贪婪我respect
  14. RepOptimizer学习笔记
  15. java 倒计时_Java倒计时实现的三种简单方式
  16. 2021西湖论剑misc——Yusa的小秘密
  17. 《百度输入法》导致EXCEL 无法使用快捷键Ctrl+;插入日期
  18. SAP 中的货币(Currencies)
  19. 小米游戏本 七代 deepin 网卡ac 8265 wifi 驱动 安装
  20. 电子邮箱的工作原理以及SMTP、POP3、IMAP之间的联系和区别

热门文章

  1. 清朝后宫佳丽的真实照片
  2. 计算机ppt制作培训心得体会,制作ppt学习心得体会.doc
  3. 我的世界python指令_我的世界Minecraft从0开始学指令。
  4. 种子计数法对种子公司的好处
  5. 【LeetCode每日一题】——109.有序链表转换二叉搜索树
  6. 一次招聘“乌龙”事件
  7. 家居网络营销:定制家具行业如何做好全网营销?
  8. 一个网课开发者复工后的一个月
  9. iQOO Z3、OPPOK9和小米11青春版的区别 哪个好
  10. 【推荐】推荐一个听音乐越,放松的小网站 音乐视频都不错