PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Ruby
[問題] 請教關於遞迴數列
作者:
timeregorge
(Nick)
2014-05-03 12:28:28
def fibonacci(number)
if number < 2
number
else
fibonacci(number - 1) + fibonacci(number - 2)
end
end
puts fibonacci(6)
以上是小弟練習題,執行結果是8
我對上面的流程有一點不懂我知道執行的流程圖是這樣
至於第一個if條件是小於2的話 加總?或是計算數量?
因為我如果改成<=2結果是13如果算數量2和1的總數是13沒錯
但如果我2改成3結果卻還是13,為什麼呢?
作者:
mars90226
(火星人)
2014-05-03 13:03:00
你弄錯了,小於二只是因為fibonacci的第0項是0、第1項是
作者:
mars90226
(火星人)
2014-05-03 13:04:00
1而以,沒有其他意義。這只是要讓遞迴有終止條件但是fibonacci第2項是1才對
作者:
mars90226
(火星人)
2014-05-03 17:11:00
fibonacci數列:1,1,2,3,5,8,13,21 ...每一項都是前面兩項的和,最一開始兩項是1
作者:
mars90226
(火星人)
2014-05-03 17:12:00
這只是這個數列的定義而已
作者:
timeregorge
(Nick)
2014-05-07 12:09:00
謝謝您的解答,我知道fibonacci是這樣運作,我只是不懂
作者:
timeregorge
(Nick)
2014-05-07 12:10:00
if 條件式執行後給出來的結果為什麼是這樣,謝謝您
作者:
timeregorge
(Nick)
2014-05-07 13:13:00
不好意思,經過畫圖後..我看懂了謝謝您的解說!
繼續閱讀
Re: [問題] AND operator
ducksteven
[資訊] Rails Bridge @ Tainan
hechian
[問題] AND operator
nohaha
[資訊] Taipei.rb-4/29大江戶 Ruby 會議參加心得
breakanyrule
Re: [問題] 請問關於遞迴的問題(求講解)(補圖)
Violation
[問題] 所有位數和
pushinto
[資訊] RubyConf 2014 票折讓(又有一張)
markmcm
[問題] 請問關於遞迴的問題(求講解)(補圖)
timeregorge
[資訊]Ruby on Rails 新手村聚會時間改為每週四
breakanyrule
[徵才] ROR人才怎麼這麼難找啊!!!!
babay613
Links
booklink
Contact Us: admin [ a t ] ucptt.com