(循環練習題) 五只猴子分桃子


題目:海灘上有一堆桃子,五只猴子來分.第一只猴子把這堆桃子憑據分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?

思路:可以從第五個猴子開始,從后往前推。最后一個猴子分成五份還多一個,假設最后一個猴子拿1個桃,最后至少有5*1+1=6個桃子。

請你試一試,編寫程序計算原來有多少個桃子。

#題目:海灘上有一堆桃子,五只猴子來分.第一只猴子把這堆桃子憑據分為五份,
#多了一個,這只猴子把多的一個扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均分成五份,
#又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,
#問海灘上原來最少有多少個桃子?

#思路:可以從第五個猴子開始,從后往前推。最后一個猴子分成五份還多一個,假設最后一個猴子拿1個桃,最后至少有5*1+1=6個桃子。

i=1 #第5只猴子拿走的桃子的個數
count = 0 #海灘上剩下的桃子數
while True:
       count= i*5+1 #第5只拿之前,海灘上剩下的桃子數
       for j in range(0,4): #推斷第4、3、2、1只猴子情況
            if count % 4 !=0:  #剩下的桃子數必須能被4整除
                flag = False                 #flag用來判斷本次i的取值嘗試是否成功,不成功就繼續嘗試
                i += 1
                break
            else: 
                count = (count/4)*5+1
                flag = True
       if flag == True:
            print(count)
            print(i)
            break
  

運行結果:

3121.0
255


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM