欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python小游戏编程100例_经典编程100例——python版(例9例10)

发布时间:2025/3/19 python 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python小游戏编程100例_经典编程100例——python版(例9例10) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
最近事情比较多,python还在学习之中,更新速度慢了一些。今天就2例。

例9:一个数如果恰好等于它的因子之和,这个数就称为“完数”。如6=1+2+3.编程找出1000之内所有的完数并打印出来。

求解分析:关键就是把一个数的因子都找出来。取余为零,再加一个比较条件而已。利用了sum()来快速求和。

*列表真是好东西。

代码如下:

测试结果:

拓展:如果要求打印出

6=1+2+3

28=1+2+4+7+14

496=1+2+4+8+16+31+62+124+248

程序要怎么改?

——————————————————————————————————

例10:猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,只剩下一个桃子了。求第一天共摘了多少个?

求解分析:

天数1234
吃掉c1=s0/2+1c2=s1/2+1c3=s2/2+1c4=s3/2+1
剩下s0=ns1=s0-c1s2=s1-c2s3=s2-c3s4=s3-c4
天数56789
吃掉c5=s4/2+1c6=s5/2+1c7=s6/2+1c8=s7/2+1c9=s8/2+1
剩下s5=s4-c5s6=s5-c6s7=s6-c7s8=s7-c8s9=s8-c9=1

第九天吃完还剩下1个桃子,所以s9=1。

s8=2*(s9+1)=2*(1+1)=4

……

倒推上去,可以得到s0=2*(s1+1)

代码如下:

测试结果:

拓展:看了求解分析,可以看出用递归算法肯定可以。你可以尝试写一下吗?欢迎交流。

编程能培养学生的思维,我没怀疑过。

总结

以上是生活随笔为你收集整理的python小游戏编程100例_经典编程100例——python版(例9例10)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。