(一)費氏數列由0和1開始,之後的費氏數字就是由之前的兩數相加而得出。
(1-1)首幾個費氏數字是: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233……(參考維基百科)
(1-2)第n個費氏數字及第n-1個費氏數字的比例趨近於黃金比例(1.618...)。
(二)編寫python程式:
(2-1)由windows開始功能表執行 IDLE(python 3.7 64bit)
安裝python請參考:20191014在windows7安裝並使用python3.7.4來剖析數字序列字串
(2-2)按CTRL+N在PYTHON文字編輯器編寫如下程式碼,並存為 d:\fib-1.py
def fib(n): if n<=1 : return n else: return fib(n-1)+fib(n-2) n=int(input("請輸入n=")) while n >= 0 : print(fib(n)) n=int(input("請再輸入n="))
(2-3)在PYTHON文字編輯器按F5可儲存編寫的程式碼並執行之,結果如下:
請輸入數字n=0 fib( 0 )= 0 請再輸入另一個n=1 fib( 1 )= 1 請再輸入另一個n=2 fib( 2 )= 1 請再輸入另一個n=3 fib( 3 )= 2 請再輸入另一個n=4 fib( 4 )= 3 請再輸入另一個n=5 fib( 5 )= 5 請再輸入另一個n=6 fib( 6 )= 8 請再輸入另一個n=7 fib( 7 )= 13 請再輸入另一個n=8 fib( 8 )= 21 請再輸入另一個n=9 fib( 9 )= 34 請再輸入另一個n=10 fib( 10 )= 55 請再輸入另一個n=11 fib( 11 )= 89 請再輸入另一個n=12 fib( 12 )= 144 請再輸入另一個n=13 fib( 13 )= 233 請再輸入另一個n=14 fib( 14 )= 377 請再輸入另一個n=-1
(三)編寫python程式:
(3-1)按CTRL+N在PYTHON文字編輯器編寫如下程式碼,並存為 d:\fib-2.py
def fib(n): if n<=1 : return n else: return fib(n-1)+fib(n-2) n=int(input("請輸入數字n=")) cs = [] while n >= 0 : x=fib(n) print("fib(",n,")=",x) cs.append(x) print ("cs[]=",cs) n=int(input("請再輸入另一個n=")) (3-2)在PYTHON文字編輯器按F5可儲存編寫的程式碼並執行之,結果如下:
請輸入數字n=0 fib( 0 )= 0 cs[]= [0] 請再輸入另一個n=1 fib( 1 )= 1 cs[]= [0, 1] 請再輸入另一個n=2 fib( 2 )= 1 cs[]= [0, 1, 1] 請再輸入另一個n=3 fib( 3 )= 2 cs[]= [0, 1, 1, 2] 請再輸入另一個n=4 fib( 4 )= 3 cs[]= [0, 1, 1, 2, 3] 請再輸入另一個n=5 fib( 5 )= 5 cs[]= [0, 1, 1, 2, 3, 5] 請再輸入另一個n=6 fib( 6 )= 8 cs[]= [0, 1, 1, 2, 3, 5, 8] 請再輸入另一個n=7 fib( 7 )= 13 cs[]= [0, 1, 1, 2, 3, 5, 8, 13] 請再輸入另一個n=8 fib( 8 )= 21 cs[]= [0, 1, 1, 2, 3, 5, 8, 13, 21] 請再輸入另一個n=9 fib( 9 )= 34 cs[]= [0, 1, 1, 2, 3, 5, 8, 13, 21, 34] 請再輸入另一個n=-1
|