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.’个月后共有’.$sum.’对兔’;

   }

亚种植方式(递归):

 

<?php

   function
fun($n){

   if($n == 1 ||
$n == 2){

       return
1;

   }else{

       return
fun($n-1)+fun($n-2);

   }

}

       
事后,也失去网上查看了瞬间,但是大部分代码示例都是C语言、c++、java等等语言的。并不曾尽多PHP相关的代码示例,这半栽方式,希望得以拉到大家。

       
其实全面试过程格外紧张,好于终极成功的雅不错。这不,复试通知来了。