本文實(shí)例講述了PHP基于遞歸算法解決兔子生兔子問題。分享給大家供大家參考,具體如下:
接到面試通知輾轉(zhuǎn)反側(cè),一直在默念明天改如何介紹自己的項(xiàng)目經(jīng)驗(yàn)等。
早早的起床,洗漱,把自己的總結(jié)的問題自問自答了一些。
匆匆吃了早飯,擠進(jìn)讓人面目猙獰的地鐵,此時(shí)什么都不顧,只盼著趕緊下地鐵。終于提前半小時(shí)到了面試地點(diǎn),再次拿出準(zhǔn)備的問題看了幾眼,還剩15分鐘上去。跟著人力填了表格,然后給了我一個(gè)算法題。
如下:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔子,假如兔子都不死,請(qǐng)編程輸出兩年內(nèi)每個(gè)月的兔子總數(shù)為多少?
忽然記起來,這道題之前的一個(gè)朋友跟我談?wù)撨^,思路是一樣的。
第一種方法(for循環(huán)實(shí)現(xiàn)):
?php function getResult($month){ $one = 1; //第一個(gè)月兔子的對(duì)數(shù) $two = 1; //第二個(gè)月兔子的對(duì)數(shù) $sum = 0; //第$month個(gè)月兔子的對(duì)數(shù) if($month 3){ return ; for($i = 2;$i $month; $i++){ $sum = $one + $two; $one = $two; $two = $sum; echo $month. 個(gè)月后共有 .$sum. 對(duì)兔子 //測(cè)試:getResult(8)//輸出:8個(gè)月后共有21對(duì)兔子
第二種方法(遞歸):
?phpfunction fun($n){ if($n == 1 || $n == 2){ return 1; }else{ return fun($n-1)+fun($n-2);//測(cè)試:echo fun(8)//輸出:21
事后,也去網(wǎng)上查了一下,但是大多數(shù)代碼示例都是C語言、c++、java等等語言的。并沒有太多PHP相關(guān)的代碼示例,這兩種方法,希望可以幫到大家。
其實(shí)整個(gè)面試過程挺緊張,好在最后完成的挺漂亮。這不,復(fù)試通知來了,感謝那個(gè)千鋒PHP哥們。
您可能感興趣的文章:關(guān)于ThinkPHP中的異常處理詳解_php實(shí)例
PHP7基于curl實(shí)現(xiàn)的上傳圖片功能php技巧
PHP5.0~5.6 各版本兼容性cURL文件上傳功能實(shí)例分析php技巧
以上就是PHP基于遞歸算法解決兔子生兔子問題php技巧的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選