PHP基于遞歸算法解決兔子生兔子問題
本文實例講述了PHP基于遞歸算法解決兔子生兔子問題。分享給大家供大家參考,具體如下:
接到面試通知輾轉(zhuǎn)反側(cè),一直在默念明天改如何介紹自己的項目經(jīng)驗等。
早早的起床,洗漱,把自己的總結(jié)的問題自問自答了一些。
匆匆吃了早飯,擠進讓人面目猙獰的地鐵,此時什么都不顧,只盼著趕緊下地鐵。終于提前半小時到了面試地點,再次拿出準備的問題看了幾眼,還剩15分鐘上去。跟著人力填了表格,然后給了我一個算法題。
如下:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,請編程輸出兩年內(nèi)每個月的兔子總數(shù)為多少?
忽然記起來,這道題之前的一個朋友跟我談?wù)撨^,思路是一樣的。
第一種方法(for循環(huán)實現(xiàn)):
<?php function getResult($month){ $one = 1; //第一個月兔子的對數(shù) $two = 1; //第二個月兔子的對數(shù) $sum = 0; //第$month個月兔子的對數(shù) if($month < 3){ return ; } for($i = 2;$i < $month; $i++){ $sum = $one + $two; $one = $two; $two = $sum; } echo $month.'個月后共有'.$sum.'對兔子'; } //測試: getResult(8) //輸出:8個月后共有21對兔子
第二種方法(遞歸):
<?php function fun($n){ if($n == 1 || $n == 2){ return 1; }else{ return fun($n-1)+fun($n-2); } } //測試: echo fun(8) //輸出:21
事后,也去網(wǎng)上查了一下,但是大多數(shù)代碼示例都是C語言、c++、java等等語言的。并沒有太多PHP相關(guān)的代碼示例,這兩種方法,希望可以幫到大家。
其實整個面試過程挺緊張,好在最后完成的挺漂亮。這不,復試通知來了,感謝那個千鋒PHP哥們。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
- PHP遞歸的三種常用方式
- php遞歸函數(shù)三種實現(xiàn)方法及如何實現(xiàn)數(shù)字累加
- PHP 無限分類三種方式 非函數(shù)的遞歸調(diào)用!
- php菜單/評論數(shù)據(jù)遞歸分級算法的實現(xiàn)方法
- PHP遞歸算法的簡單實例
- PHP基于非遞歸算法實現(xiàn)先序、中序及后序遍歷二叉樹操作示例
- PHP基于二分法實現(xiàn)數(shù)組查找功能示例【循環(huán)與遞歸算法】
- PHP實現(xiàn)字符串翻轉(zhuǎn)功能的方法【遞歸與循環(huán)算法】
- PHP基于遞歸實現(xiàn)的約瑟夫環(huán)算法示例
- PHP使用遞歸算法無限遍歷數(shù)組示例
- php獲得文件夾下所有文件的遞歸算法的簡單實例
- PHP二分查找算法示例【遞歸與非遞歸方法】
- PHP冒泡算法詳解(遞歸實現(xiàn))
- 關(guān)于PHP遞歸算法和應用方法介紹
- PHP遞歸算法的詳細示例分析
- php全排列遞歸算法代碼
- php實現(xiàn)遞歸的三種基本方式
相關(guān)文章
PHPExcel導出2003和2007的excel文檔功能示例
這篇文章主要介紹了PHPExcel導出2003和2007的excel文檔功能,結(jié)合實例形式分析了PHPExcel屬性設(shè)置及文檔導出操作相關(guān)技巧,需要的朋友可以參考下2017-01-01php自定義函數(shù)br2nl實現(xiàn)將html中br換行符轉(zhuǎn)換為文本輸入中換行符的方法【與函數(shù)nl2br功能相反】
這篇文章主要介紹了php自定義函數(shù)br2nl實現(xiàn)將html中br換行符轉(zhuǎn)換為文本輸入中換行符的方法,具有與函數(shù)nl2br相反的功能,并附帶了相應的JS實現(xiàn)方法,需要的朋友可以參考下2017-02-02PHP strtotime函數(shù)用法、實現(xiàn)原理和源碼分析
這篇文章主要介紹了PHP strtotime函數(shù)用法、實現(xiàn)原理和源碼分析,本文講解了strtotime函數(shù)的一些用法、strtotime函數(shù)的實現(xiàn)基本原理、strtotime(“-1 month”)求值失敗的原因等內(nèi)容,需要的朋友可以參考下2015-02-02php實現(xiàn)執(zhí)行某一操作時彈出確認、取消對話框
當執(zhí)行某一操作比如確認或者取消時如何彈出對話框,針對這個需求,下面使用php來實現(xiàn)下,感興趣的朋友不要錯過2013-12-12