斐波那契数列 C++ 实现代码
生活随笔
收集整理的這篇文章主要介紹了
斐波那契数列 C++ 实现代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
斐波那契數列 C++ 實現代碼 有一只動物,出生兩天之后,就開始每天繁殖一只,問第20天的時候,這只動物會有多少只?假設我們第一天只有一只,那么第二天因為它只出生了一天,所以不能繁殖。第三天的時候,最初的那只和它生出來的一只,一共有三只動物,以此類推。
這是一個典型的遞歸題目,如果使用畫圖,或者自己去每天去推的話,肯定是一件耗時耗力的工作,并且很有可能會算錯。
這個時候,我們的思維方式應該是這樣子的,請仔細體會:
今天是第五天,動物數量等于 第四天的動物數量 + 第三天的動物數量 /*第三天的動物生下了同樣數量的動物加入到第五天的數量中*/
同理: 第三天的動物數量 ? ?等于 第二天動物數量 ?+ 第一天動物數量(新) 第四天的動物數量 ? ?等于 第三天動物數量 ?+ 第二天動物數量(新) 第20天的動物數量 ? ?等于 第19天動物數量 ?+ 第18天動物數量(新)
我們應該重點關注的是,如何思考這個題目,因為在實際的面試過程中,出現了斐波那契額數的變種題目,在某500強軟件企業的測試中,要求小于一分鐘能夠做出一道類似的題目,這個必須是一個相當優秀程序員的思維。勤加練習,必有所獲!
這是一個典型的遞歸題目,如果使用畫圖,或者自己去每天去推的話,肯定是一件耗時耗力的工作,并且很有可能會算錯。
這個時候,我們的思維方式應該是這樣子的,請仔細體會:
今天是第五天,動物數量等于 第四天的動物數量 + 第三天的動物數量 /*第三天的動物生下了同樣數量的動物加入到第五天的數量中*/
同理: 第三天的動物數量 ? ?等于 第二天動物數量 ?+ 第一天動物數量(新) 第四天的動物數量 ? ?等于 第三天動物數量 ?+ 第二天動物數量(新) 第20天的動物數量 ? ?等于 第19天動物數量 ?+ 第18天動物數量(新)
? ? 我們就很容易得到一個遞歸的規律,f(n)=f(n-1)+f(n-2),并且有一個跳出遞歸的條件,就是n>20。隨便找一種語言實現上面的遞歸就可以了,如下是C++的代碼實現:
我們應該重點關注的是,如何思考這個題目,因為在實際的面試過程中,出現了斐波那契額數的變種題目,在某500強軟件企業的測試中,要求小于一分鐘能夠做出一道類似的題目,這個必須是一個相當優秀程序員的思維。勤加練習,必有所獲!
?
總結
以上是生活随笔為你收集整理的斐波那契数列 C++ 实现代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 90后程序员代码漏洞更多?
- 下一篇: 韩国游戏的奇葩文化