首頁 >後端開發 >php教程 >PHP基於遞歸演算法解決兔子生兔子問題

PHP基於遞歸演算法解決兔子生兔子問題

不言
不言原創
2018-06-01 11:57:342378瀏覽

這篇文章主要介紹了PHP基於遞歸演算法解決兔子生兔子問題,結合實例形式分析了兔子生兔子問題的php面試題採用循環與遞歸兩種思路的解決方法,需要的朋友可以參考下

本文實例講述了PHP基於遞歸演算法解決兔子生兔子問題。分享給大家供大家參考,具體如下:

接到面試通知輾轉反側,一直在默念明天改如何介紹自己的專案經驗等。

早早的起床,洗漱,把自己的總結的問題自問自答了一些。

匆匆吃了早餐,擠進讓人面目猙獰的地鐵,此時什麼都不顧,只盼著趕緊下地鐵。終於提早半小時到了面試地點,再次拿出準備的問題看了幾眼,還剩15分鐘上去。跟著人力填了表格,然後給了我一個演算法題。

如下有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,請編程輸出兩年內每個月的兔子總數為多少?

#忽然記起來,這道題之前的一個朋友跟我談論過,思路是一樣的。

第一種方法(for迴圈實作):

<?php
  function getResult($month){
   $one = 1; //第一个月兔子的对数
   $two = 1; //第二个月兔子的对数
   $sum = 0; //第$month个月兔子的对数
   if($month < 3){
     return ;
     }
   for($i = 2;$i < $month; $i++){
     $sum = $one + $two;
     $one = $two;
     $two = $sum;
   }
   echo $month.&#39;个月后共有&#39;.$sum.&#39;对兔子&#39;;
  }
//测试:
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

事後,也去網上查了一下,但是大多數程式碼範例都是C語言、c 、java等等語言的。並沒有太多PHP相關的程式碼範例,這兩種方法,希望可以幫到大家。

其實整個面試過程挺緊張,好在最後完成的挺漂亮。不,複試通知來了,感謝那個千鋒PHP哥們。

相關推薦:

PHP遞歸遍歷資料夾移除註解並壓縮php原始碼

################### #############

以上是PHP基於遞歸演算法解決兔子生兔子問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn