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