## 【25】千位數的費氏數 Fibonacci數列的定義如下: Fn=Fn-1+Fn-2,且F1=1,F2=1。 於是前12個Fibonacci數就是: • F1=1 • F2=1 • F3=2 • F4=3 • F5=5 • F6=8 • F7=13 • F8=21 • F9=34 • F10=55 • F11=89 • F12=144 第十二項F12,是第一個達到三位數的Fibonacci數。 第一個達到1000位的Fibonacci數又是多少呢? ### 練習1:連續印出數字1到100,不要換行可用 print(xxx,end='')  問題1:為何用range(1,101),如果是range(1,100),會得到怎樣的結果? ### 練習2:列出Fibonacci前100項 從1開始:1,2,3,5,8,13,21,34,55,89,…… 因為這不是等差數列,需要3個變數來指定,先指定a=第1項,b=第2項,c=a+b 下一回,將b的值指定給a,c的值指定給b,而新的c還是取a+b,這樣不斷循環……  ### 練習3:判斷偶數的方法:48%2得到?,而49%1會得到?  請在jupyternotebook裡面練習寫出完整程式 問題3:%這個符號,在python的運算代表何意義? ### 練習4:在前30項中挑出第2,4,6,8...30項,即偶數項, 求這些偶數項的和。(利用練習2程式碼修改) 你會需要一個新的變數sum來記錄總和,還有ifi%2==0:來判斷是否偶數項。 問題4:這些總和是多少呢? #### 換一種方法來控制偶數項 先假設一個變數叫做case,初始值給他-1,在迴圈中每一回,都乘以-1 於是case的狀態是-1、1、-1、1、-1、……保持一正一負 所以當case==1,就是偶數項  ### 練習5:請在jupyternotebook裡面練習寫出上面這個完整程式 問題5:請修改程式,讓輸出結果的最後一個+號不要出現,如下:  #### 【最後問題】在每一項不超過4000000的條件下,求偶數的和 你並不知道有多少項,先列出4000000以內的項,再來求和嗎? 或者同時檢查,合於條件1:小於4000000、條件2:偶數,就加起來!你會用for迴圈還是while迴圈呢? ### 練習6:請在jupyternotebook裡面練習寫出最後問題的完整程式
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up