`上**:`
古典問題:有一對兔子,從出生後第四個月起每個月都生一對兔子,小兔子長到第四個月後每個月又生一對兔子。假如兔子都不死,計算第十個月兔子的總數?
用**表示這個過程:
所經過的月數12
3456
78910
兔子總對數11
2358
1321
3455
迭代結構圖:
print("輸入有誤!")
return 0
while (n-2) > 0 :
n3 = n2 + n1
n1 = n2
n2 = n3
n -= 1
return n3
print(month(0))
print(month(4))
result = month(9)
if result != -1:
print("總共有%d對兔兔!"%result)
x =int(input("請輸入經過的月份數目:"))
print(month(x))
編譯結果:
輸入有誤!03總共有34對兔兔!
請輸入經過的月份數目:10
55
兔子問題(斐波那契數列)的迭代實現與遞迴實現
某個月兔子的數量 上個月兔子數 這個月出生的兔子數 這個月出生的兔子數 上上個月的兔子數 根據題意可知此時且這個月的兔子全是上上個個月的兔子生的,因為上上個月的兔子是剛好到這個月所有兔子都成熟的,所以可以理解為這個月的新生兔子是上上個月的兔子數量 寫成遞推公式就是 f n f n 1 f n 2 其...
迭代器實現斐波那契數列
class fibiterator object 斐波那契數列迭代器 def init self,n param n int,指明生成數列的前n個數 self.n n current用來儲存當前生成到數列中的第幾個數了 self.current 0 num1用來儲存前前乙個數,初始值為數列中的第乙個...
演算法之斐波納契數列遞迴和迭代實現
在數學上,斐波納契數列以如下被以遞迴的方法定義 f 0 0,f 1 1,f n f n 1 f n 2 n 2 迭代的實現 s 0 0 s 1 1 for i 2 i 100 i var dump s 遞迴實現 function fib i return fib i 1 fib i 2 var du...