上海網(wǎng)站建設(shè)管理推廣的渠道和方法有哪些
1 問題
海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子平均分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三只猴子、第四只猴子、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?
2 方法
(1)問最少有多少只桃子,則岸上最后剩的桃子數(shù)目越小,原本岸上的桃子越少;
(2)通過問題可知,每一只猴子都會把桃子平均分五份,并且最后都多一個;受此啟發(fā),我們可以假設(shè)最后岸上還剩4x只桃子,利用遞歸方法求解;
(3)解決問題的數(shù)學(xué)方法找到了,接著需要我們將其轉(zhuǎn)換成代碼;首先定義函數(shù),應(yīng)用遞歸方法;最后再應(yīng)用while循環(huán)。
代碼清單 1
num=int(input("輸入猴子的數(shù)目:")) def fn(n): ? ?if n == num: ? ? ? ?return(4*x) ? ? ? ? ?else: ? ? ? ?return(fn(n+1)*5/4+1) x=1 while 1: ? ?count=0 ? ?for i in range(1,num): ? ? ? ?if fn(i)%4 == 0 : ? ? ? ? ? ?count=count+1 ? ?if count==num-1: ? ? ? ?print("海灘上原來最少有%d個桃子" % int(fn(0))) ? ? ? ?break ? ?else: ? ? ? ?x=x+1 |
3 結(jié)語
我們針對猴子分桃問題,首先提出解決問題的數(shù)學(xué)方法,再轉(zhuǎn)換成Python問題,利用遞歸函數(shù)及其他本篇博客涉及到的方法,并通過代碼成功實現(xiàn)證明這些方法是有效的。本文的方法還有許多不足以及考慮不周的地方,希望通過未來的學(xué)習(xí)和實踐來不斷改進(jìn)。