
python-10.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二早上将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃前一天剩下的一半再加一个。
·
第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子x个,可得:x* 1/2 - 1 = 1,可得 x= 4。以此类推,即可手算出。
代码思路为:
第10天还没吃之前的桃子数量初始化 x= 1,之后9至1循环9次,根据上述内容
反推为 x= (x+1) * 2 可得第1天还没吃之前的桃子数量。
第一种方法:for循环
#for循环
x= 1
print('第10天吃之前就剩1个桃子')
for i in range(9, 0, -1):
x= (x+1) * 2
print('第%d天吃之前还有%d个桃子' % (i, x))
print('第1天共摘了%d个桃子' % x)
结果:
for循环中的print()语句是为了验证推算过程而增加的
第二种方法:while循环
设天数为n
设桃子数量为num
#while
def chitaozi(n,num):
while(n>=2):
num=2*(num+1)
n=n-1
print("第",n," 天桃子数为: ",num)
n = 10
num = 1
print("第",n," 天桃子数为: ",num)
chitaozi(n,num)
效果:
while循环中的print()语句也是为了验证推算过程而增加的
第三种方法:递归
#递归
def chitaozi(n):
if n == 1:
return 1
else:
return (chitaozi(n-1)+1) * 2
num = chitaozi(10)
print("第一天共摘了%d个桃子" % num)
效果:
稍微吐槽一下哈
猴子你真能吃啊!!!1534个!!!你咋不撑走咯?
十天干掉1533个桃子,这是要上天噻!!!
推荐内容
阅读全文
AI总结
更多推荐
相关推荐
查看更多
llama_index

LlamaIndex(前身为GPT Index)是一个用于LLM应用程序的数据框架
halo

强大易用的开源建站工具。
freeCodeCamp

freeCodeCamp.org的开源代码库和课程。免费学习编程。
热门开源项目
活动日历
查看更多
直播时间 2025-04-25 15:00:00


直播时间 2025-04-23 19:00:00

GitTalk:国内首个微服务编排框架Juggle实战解析
直播时间 2025-04-22 18:31:56

字节AI 黑科技!从 Manus Agent 入门 Eino
直播时间 2025-04-09 14:34:18

樱花限定季|G-Star校园行&华中师范大学专场
直播时间 2025-04-07 14:51:20

樱花限定季|G-Star校园行&华中农业大学专场
所有评论(0)