Python 每日一题(猴子吃桃问题)

Python 每日一题:锻炼Python语法的运用,思维逻辑的锻炼,算法能力的培养。


题目:

   一个猴子第一天摘下若干个桃子,当即吃了1半,还不过瘾,又多吃了1个。第二天早上吃了剩下桃子的1半。以后每天都吃前一天剩下的1半零1个。到第十早上想吃时,见只剩下1个桃子了,求第一天摘了多少个桃子?

分析:

  设每天的桃子数为 a_{i}(i=1, 2, 3, ..., 10),那么: 

        a_{10} =1

        a_{9} =(1+a_{9})* 2

        a_{8} =(1+a_{9})*2

   由此得递推公式: a_{i}=(1+ a_{i+1})*2,i = 9, ..., 3, 2 ,1


程序实现:

def peach_sum():
    total = 1
    for d in range(9, 0, -1):
        total = (total + 1) * 2
        print(f'第{d}天的桃子数为:{total}')

peach_sum()

实现结果:

第9天的桃子数为:4
第8天的桃子数为:10
第7天的桃子数为:22
第6天的桃子数为:46
第5天的桃子数为:94
第4天的桃子数为:190
第3天的桃子数为:382
第2天的桃子数为:766
第1天的桃子数为:1534

结语】以上整个程序的实现逻辑,还存在很多不全面的地方,欢迎各位大佬指点;如果觉得笔者不易,请给予点赞,给予我记录更多文章的动力!! 

你可能感兴趣的:(Python,python,算法)