歡迎點擊「算法與編程之美」↑關注我們!
本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
歡迎加入團隊圈子!與作者面對面!直接點擊!
問題描述
題目:
樂羊羊飲料廠正在舉辦一次促銷優惠活動。樂羊羊C型飲料,憑3個瓶蓋可以再換一瓶C型飲料,並且可以一直循環下去,但不允許賒賬。
請你計算一下,如果小明不浪費瓶蓋,儘量地參加活動,那麼,對於他初始買入的n瓶飲料,最後他一共能得到多少瓶飲料。
樣式要求:
輸入:一個整數n,表示開始購買的飲料數量(0<n<10000)
輸出:一個整數,表示實際得到的飲料數
解決方案
一看這種題目就需要循環來實現
每次從有瓶蓋的飲料(假設總數爲n)中拿出三瓶,然後就有了三個瓶蓋,又可以換購一瓶新的,所以每次進行一次這樣的操作,有瓶蓋的飲料數目實際上只減少了2瓶(在這過程中定義一個全局變量count用來存儲用瓶蓋換購的飲料數目)。
經過上面的一次操作後有瓶蓋的飲料總數變成了n-2,接着對這n-2瓶飲料進行上面的操作,直至瓶子的數目小於3爲止。最後輸出。(注意輸出的結果是原先飲料的數目加上用瓶蓋換購的飲料數目之和)
Python代碼:
n=int(input()) def ylhg(n): sum=n while n>=3: x=n//3 sum+=x n=n//3+n%3 return sum print(ylhg(n)) |
END
實習編輯 | 王楠嵐
責 編 | 王自強
where2go 團隊
微信號:算法與編程之美
長按識別二維碼關注我們!
溫馨提示:點擊頁面右下角“寫留言”發表評論,期待您的參與!期待您的轉發!