Python使用贪心算法分解古埃及分数

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

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

3000道Python习题免费在线练习

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

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

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

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

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

推荐图书:

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

7273d952a195a411cec8ff1c54504754.png

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

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

配套微课:43小时

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

页数:310

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

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

适用学时:48/64

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

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

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

问题描述:

传说古埃及人只使用整数和分子为1的真分数,需要表示其他分数时就使用整数和若干分子为1的分数之和。同一个真分数有多种等价的表示形式,要求得到的分数最少,也就是每个分数的分母尽可能小。

假设分数为a/b,其中a<b且a和b的最大公约数为1,则有

b=a*c+d

其中c=b//a和d=b%a<a。上式两边同时除以a,得

b/a = c+d/a < c+1

记e=c+1,然后对上式求倒数,得

a/b>1/e

可知1/e是小于a/b的最大分数,a/b - 1/e后的剩余部分为

a/b - 1/e = (a*e-b)/(b*e)

对剩余部分继续分解,重复这个过程,直到等于1为止。

函数main()接收两个自然数a和b作为参数,分别表示分数a/b的分子和分母,首先对分数a/b进行约分,然后按照上面描述的算法进行分解,分解过程中进行必要的约分。最终返回分解结果字符串。

参考代码:

5762149362eee0956d2302365e3e2472.png

运行结果:

6dae11bd2c8855c6c85861d197a31614.png

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

温馨提示:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于python模拟多集群调度的任务调度器源码+项目说明(含随机算法贪心算法、预测算法、蚁群算法).zip 基本框架框架已搭建完全(初始化、任务创建、任务调度(from进程池to集群结点)、完成队列(资源释放)、监控单元) 基于文件实现的文件锁(windows无fcntl等库) 待做: 1. 集群资源动态可视化未做,评估调度优劣的模块未做(CPU利用率,MEM利用率,平均周转时间...) 2. 只实现了简单的随机调度,未来将实现基于启发式算法的调度 新增了贪心调度和预测调度,大致写了下评测模块 添加了启发式算法(蚁群算法) 具体细节见ACO类 修改了几个算法的bug,简单做了下在资源充足和资源不充足情况下各类算法性能的展示 通过方差计算各类算法的资源均衡度 随机算法:CPU:4.9;MEM:5.7 贪心算法:CPU:2.7;MEM:2.3 预测算法:CPU: 2.5; MEM: 2.5 蚁群算法:CPU: 2.0;MEM:1.9 资源不充足情况下通过平均周转时间和吞吐量评估各类算法: 随机算法:31.7 75/min 贪心算法:33.8 71/min 改进的贪心算法:31.2 73/min 预测算法:32.8 72/min 蚁群算法:29.7 81/min

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值