1. 算法描述
猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個。
第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下的一半零一個。
到第10天早上想再吃時,見只剩下一個桃子了。
求原來它一共摘了多少個桃子。
2. 算法分析
這題得倒著推。第10天還沒吃,就剩1個,說明第9天吃完一半再吃1個還剩1個。
假設(shè)第9天還沒吃之前有桃子p個
可得: p/2-1= 1,得出第九天的桃子數(shù)p =4。以此類推,即可算出第一天摘了多少桃子。
3. 算法思路
1.第10天還沒吃之前的桃子數(shù)量初始化p= 1
2.從9至1循環(huán)9次,根據(jù)上述公式反推為p=(p+1)*2可得第1天還沒吃之前的桃子數(shù)量
4. 代碼實現(xiàn)
實現(xiàn)代碼??:
total = 1 # 第10天桃子剩1個
print(f'第10天的桃子數(shù)為:{total}')
for d in range(9, 0, -1): # 逆著推算,每次減1
total = (total + 1) * 2 # 前一天的桃子是當(dāng)前桃子數(shù)加1的兩倍
print(f'第{d}天的桃子數(shù)為:{total}') # 打印出第1天共摘了多少桃子
運行結(jié)果??:
文章來源:http://www.zghlxwxcb.cn/news/detail-471718.html
《100天精通Python》專欄推薦白嫖80g Python全棧視頻
《100天精通Python從入門到就業(yè)》:本專欄專門針對零基礎(chǔ)和需要進(jìn)階提升的同學(xué)所準(zhǔn)備的一套完整教學(xué),從0到100的不斷進(jìn)階深入,后續(xù)還有實戰(zhàn)項目,輕松應(yīng)對面試,專欄訂閱地址:https://blog.csdn.net/yuan2019035055/category_11466020.html文章來源地址http://www.zghlxwxcb.cn/news/detail-471718.html
- 優(yōu)點:訂閱限時9.9付費專欄進(jìn)入千人全棧VIP答疑群,作者優(yōu)先解答機(jī)會(代碼指導(dǎo)、遠(yuǎn)程服務(wù)),群里大佬眾多可以抱團(tuán)取暖(大廠內(nèi)推機(jī)會)!
-
專欄福利:簡歷指導(dǎo)、招聘內(nèi)推、每周送實體書、80G全棧學(xué)習(xí)視頻、300本IT電子書:Python、Java、前端、大數(shù)據(jù)、數(shù)據(jù)庫、算法、爬蟲、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、面試題庫等等
到了這里,關(guān)于Python每日一練——第10天:經(jīng)典問題猴子吃桃的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!