1. 问题描述
    求出任一个非负实数的平方根

  2. 思路分析

平方根是一个数学概念,要找到计算平方根的过程性描述(算 法),也需要通过数学领域的
知识。基本算术课程中介绍过如何求任一正实数的平方 根,但在那个方法里需要做试除,不
太适合机械进行(可以实现,但比较麻烦)。而求平方根 的另一种算法称为牛顿迭代法,描
述如下:
0.对给定正实数x和允许误差e,令变量y取任意正实数值,如令y=x
1.如果y x y与x足够接近,即|_y x y—x|<e,计算结束并把作为结果;
2.取z=(y+x/y)/2;
3.将z作为y的新值,回到步骤1。
  1. 具体实现
函数
def sqrt(x):y = 1.0while abs(y*y - x) > 1e-6:y = (y + x/y)/2return y其中变量y的初值为1.0,允许误差为10的-6次方
  1. 测试
def sqrt(x):y = 1.0while abs(y*y - x) > 1e-6:y = (y + x/y)/2return yprint(sqrt(2))
  1. 小结
  • 从这个简单实例可以看到从问题的描述出发最终得到一个可用程序的工作过程。
  • 在上述例子中,最不清晰的一步就是从平方根的定义到求平方根 的算法。
  • 算法设计是一种创造性工作,依赖于对问题的认识和相关领域的知识,没有放之四海 而皆准的路径可循。
笔记------裘宗燕著《数据结构与算法》

【Python3】23.求平方根---牛顿迭代法相关推荐

  1. java 牛顿迭代算术平方根,牛顿迭代法求n方根

    一.简单推导 二.使用 借助上述公式,理论上可以求任意次方根,假设要求a(假设非负)的n次方根,则有xn=a,令f(x)=xn-a,则只需求f(x)=0时x的值即可.由上述简单推导知,当f(x)=0时 ...

  2. python牛顿迭代法求平方根_Newton迭代法求平方根

    牛顿迭代法求根 (即曲线与x坐标轴交点) : 在曲线的一点P1(a, f(a)), 做切线, 切线与x轴, 相交于 A 点, A点做垂线 与曲线交于 P2(b, f(b)) 点, 在P2点继续做切线, ...

  3. 【leetcode】第69题 x 的平方根 牛顿迭代法实现求平方根函数 C++

    这题属于简单题,但是因为学到了新的算法:牛顿迭代法(或牛顿法),这里做一下记录. 题目描述: 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类 ...

  4. python迭代法求平方根_1021: 迭代法求平方根

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

  5. 非线性方程求根——牛顿迭代法

    一.牛顿法 1.实质:牛顿法实质上是一种线性方法,其基本思想是将非线性方程f(x)=0逐步归结为某种线性方程来解. 2.牛顿法公式: 已知方程f(x)=0有近似解xk,假设,将f(x)在点xk泰勒展开 ...

  6. 牛顿迭代法求一个数的立方根、平方根

    // 不调用原有的库函数,求一个数的立方根.平方根 ------牛顿迭代法,不得不说牛顿太伟大了! 我们现在先求平方根: 设函数 f(x) = x^2 - a  ,那么求 a 的平方根等价于求 f(x ...

  7. 用c语言编制牛顿法程序,求解试用newton法求函数,YTU 2405: C语言习题 牛顿迭代法求根...

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

  8. 三次函数求近似解(牛顿迭代法/二分法)

    三次函数求近似解 牛顿迭代法.二分法 本人大一学生,学习C语言刚刚三个月,分享一下自己学习的题目和方法,欢迎大佬们批评指正! 首先解释一下牛顿迭代法和二分法的原理: (参考同济大学高等数学第七版上册 ...

  9. 轻松理解牛顿迭代法且用其求平方根

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

  10. 二分法和牛顿迭代法求平方根(Python实现)

    求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现.那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary search)和牛顿迭代 ...

最新文章

  1. 技术大佬的肺腑之言:“不要为了 AI 而 AI”! | 刷新 CTO
  2. VS Web.config 密码加密加密
  3. linux mail 密码错误,linux下mail使用故障解决
  4. springboot多数据源使用EntityManager
  5. html 手机a标签点不动,htmlunit单击javascript a标签不起作用
  6. 【FRDM-K64F学习笔记】使用ARM mbed和Keil MDK下载你的第一个程序
  7. php实现多条件查找分页,Yii2.0框架实现带分页的多条件搜索功能示例
  8. iTunes 错误 -50
  9. CSS定义表格边框大全(细线/虚线/点线)
  10. Direct X 修复
  11. Navicat Premium 12安装过程
  12. 企业网ARP欺骗网关攻击与伪DHCP分析与处理
  13. 01-----YUV各种格式的详解
  14. Unity使用fungus插件实现对话系统
  15. 亚马逊 kindle 刷机 过程记录
  16. base64原理(附代码) 换表脚本
  17. 解决Eclipse修改jsp文件需要重启Tomcat问题
  18. 格兰蒂亚3 详细剧情攻略
  19. 用v-modle做一个简单的计算器
  20. java freemarker 图片_java通过freemarker导出包含富文本图片的word文档

热门文章

  1. 程序员宝宝们6661儿童节快乐
  2. vuecli添加和移除插件_魔兽世界怀旧服,CEPGP EPGP插件完全汉化版 9月最新更新...
  3. linux实用技巧:通过命令行安装deb软件包
  4. 正文页眉:奇数页为各章题目,偶数页为论文题目
  5. 计算机打不开管理没反应,为什么电脑上的软件打不开点了没有反应任务管理器也打不开...
  6. 如何使用群发工具?邮件群发软件免费有哪些?
  7. 栅格数据灰度化并前端转换展示
  8. 自动删除QQ空间指定好友的留言
  9. Kotlin-协程Coroutines-组合suspending暂停函数
  10. git 如何回退单个文件