Python使用牛顿迭代法和二分法计算任意大自然数的平方根近似值

董付国老师Python系列教材推荐与选用参考

开学第一课:一定不要这样问老师Python问题

3000道Python习题免费在线练习

“Python小屋”1300篇历史文章分类速查表

董付国老师Python教学PPT汇总与题库分享

==============

版权声明:由于公众号后台规则问题,本文暂时无法设置原创标记,但仍属原创内容,微信公众号“Python小屋”坚持只发原创技术文章。

=============

推荐图书:

董付国著,《Python程序设计基础(第3版)》(微课版),ISBN:9787302611035,清华大学出版社,定价59.8元,2023年1月出版,2024年1月第6次印刷(本书前两版累计印刷27次,已退出历史舞台),全国高等学校计算机教育研究会“十四五”规划教材,山东省高等教育优秀教材,山东省普通高等教育一流教材,山东省一流本科课程“Python应用开发”(线上线下混合)配套教材,山东省一流本科课程“Python程序设计基础”(线上)配套教材,清华大学出版社2019、2020、2021、2022、2023年畅销教材

63be5beb72391e2cbbcf0f1f4cfa758c.png

图书内容:Python基础,正则表达式,文件操作,数据库操作,数据分析与科学计算可视化

配套慕课:中国大学MOOC、智慧树,搜索“董付国”

配套微课:43小时

配套资源:教学大纲、课件、源码、数据文件、在线练习软件

页数:310

适用专业:非计算机专业(偏理科)、选修课

适用层次:研究生/本科/专科

适用学时:48/64

配套资源:用书教师可以免费获取教学大纲、教案、课件、源码、习题答案、慕课、在线练习与考试系统。

《Python程序设计基础(第3版)》章节习题参考答案

==============

在Python中,使用运算符“**”和内置模块math、cmath的函数sqrt()都可以直接计算平方根,其中运算符“**”和cmath.sqrt()可以计算负数的平方根,math.sqrt()的参数不能为负数。例如

237f5ec6fd0f0e012f03faba26dad17f.png

Python中的整数可以非常非常非常大,但实数不能,而绝大部分整数的平方根是实数。也就是说,当整数大到一定程度以后,上面计算平方根的方法都不能用了。

187c35e311eb1bc62334b2dcce501de7.png

那是不是就没法计算超大整数的平方根了呢?肯定不是,接下来我们就来看两个比较常用的方法。

1)牛顿迭代法

d94aee8f78dc8b6ca99eab6d7cb307d5.png

运行结果:

3614e6ccfebaae00fe75754a7bc77df9.png

2)二分法查找

对于任意自然数n,其平方根一定在[1,n)区间内。可以使用线性搜索逐个测试区间内的自然数并检查其平方是否恰好为n,但这样的话当n变大时需要的时间非常多,收敛速度非常慢。下面的代码使用二分法查找快速缩小搜索范围并返回最接近于n的平方根的自然数。

2b3e58622144bdad86a1982ffb795bce.png

运行结果:

b10467374f7c3ee2a256ec3028bc31ef.png

=================

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过200次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1300篇原创技术文章;发送消息“会议”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过700节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习2601道客观题和748道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值