【基础入门题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只桃子
'''




目录
相关文章
|
6月前
47: 猴子吃桃
47: 猴子吃桃
|
6月前
猴子吃桃
猴子吃桃。
54 1
|
1月前
猴子分桃
【10月更文挑战第3天】猴子分桃。
15 1
|
2月前
猴子吃桃问题
猴子吃桃问题。
44 3
|
6月前
|
机器学习/深度学习 索引
PTA-猴子选大王
程序模拟了猴子报数选猴王的过程,初始有N只猴子(N≤1000),从1号开始按1到3报数,报到3的猴子退出,直至只剩一只猴子,该猴子成为猴王。输入示例为11,输出示例为7。代码通过初始化猴子列表和当前报数索引,不断移除报数为3的猴子,最后返回剩余猴子的编号。
41 0
|
6月前
|
C语言
c语言编程练习题:7-35 猴子吃桃问题
c语言编程练习题:7-35 猴子吃桃问题
43 0
|
5月前
|
C++
【洛谷 P1428】小鱼比可爱 题解(循环)
这是一个编程竞赛问题,题目要求编写一个程序来计算每只鱼在其视野内看到的更不可爱的鱼的数量。给定鱼的总数`n`和每只鱼的可爱程度数组`a[]`,输出每个位置的鱼能看到的更不可爱的鱼的数量。 **摘要:** ```markdown 解决一个编程挑战,计算鱼在“比可爱”比赛中左边有多少条更不可爱的鱼。输入包含鱼的总数`n`和每条鱼的可爱度,输出每条鱼眼中更不可爱的鱼数。提供的C++代码通过遍历数组,比较每只鱼的可爱度并累计小于它的数量,然后输出结果。 ``` 这个摘要在240个字符以内,简要概述了问题的背景、任务和解决方案的概要。
56 0
|
6月前
|
C语言
【汇编语言实战】猴子吃桃
【汇编语言实战】猴子吃桃
40 0
【汇编语言实战】猴子吃桃
|
6月前
57.猴子吃桃问题
57.猴子吃桃问题
37 0
|
6月前
|
C++
【PTA】L1-020 帅到没朋友 (C++)
【PTA】L1-020 帅到没朋友 (C++)
105 0
【PTA】L1-020 帅到没朋友 (C++)