【基础入门题024】猴子吃桃问题

简介: 【基础入门题024】猴子吃桃问题

【基础入门题】2021.11.20


猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?


编程语言:包括但不限于Python

题目来源:派森特给站每日刷题频道


简单,一个循环解决,前九天只要循环9次:

n = 1
for i in range(1,10):
  n = 2*(n+1)
print(n)
# 1534



上述代码中循环变量 i 在循环体没有使用到,python对于这种情况循环变量可以用“_”下划线代替:

1. n = 1
2. for _ in range(9):
3.  n = 2*(n+1)
4. print(n)



或者用while循环:

1. n,i = 1,0
2. while i<9:
3.  i += 1
4.  n = 2*(n+1)
5. 
6. print(n)



递归法:

1. def Peach(n):
2.  if n==1:
3.    return 1
4.  else:
5.    return 2*(Peach(n-1)+1)



或写成二行:

1. def Peach(n):
2.  if n==1: return 1
3.  return 2*(Peach(n-1)+1)


lambda函数:

Peach = lambda n: 1 if n==1 else 2*(Peach(n-1)+1)



倒推的递归法:

def peach(n):
  if n==10:
    return 1
  else:
    return 2*(peach(n+1)+1)
for i in range(10,0,-1):
  print("第{}天有{}只桃子".format(i,peach(i)))
'''
执行结果:
第10天有1只桃子
第9天有4只桃子
第8天有10只桃子
第7天有22只桃子
第6天有46只桃子
第5天有94只桃子
第4天有190只桃子
第3天有382只桃子
第2天有766只桃子
第1天有1534只桃子
'''




目录
相关文章
|
8月前
47: 猴子吃桃
47: 猴子吃桃
|
8月前
猴子吃桃
猴子吃桃。
67 1
|
3月前
猴子分桃
【10月更文挑战第3天】猴子分桃。
22 1
|
4月前
猴子吃桃问题
猴子吃桃问题。
62 3
|
8月前
|
C语言
c语言编程练习题:7-35 猴子吃桃问题
c语言编程练习题:7-35 猴子吃桃问题
51 0
|
8月前
|
C语言
【汇编语言实战】猴子吃桃
【汇编语言实战】猴子吃桃
48 0
【汇编语言实战】猴子吃桃
|
8月前
57.猴子吃桃问题
57.猴子吃桃问题
46 0
|
机器学习/深度学习
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
《蓝桥杯每日一题》背包dp·AcWing3382. 整数拆分
80 0
【每日一道智力题】之猴子搬香蕉
【每日一道智力题】之猴子搬香蕉
451 0

相关实验场景

更多