PHPPHP递归消除兔子难点,面试必备

       
接到面试布告辗转反侧,向来在默念后天改什么介绍自身的项目经验等。早早的起来,洗漱,把团结的下结论的标题自问自答了有个别。匆匆吃了早饭,挤进令人面目狞恶的地铁,此时哪些都不顾,只盼着赶紧下大巴。终于提前半小时到了面试地方,再一次拿出准备的标题看了几眼,还剩一5分钟上去。跟着人力填了报表,然后给了自作者二个算法题。如下:

       
有一对兔子,从出生后第四个月起种种月都生1对兔子,小兔子长到第伍个月后每种月又生一对兔子,假使兔子都不死,请编制程序输出两年内各类月的兔子总数为多少?

       
忽然记起来,那道题在此之前跟三个朋友谈谈过,思路是相同的。

第3种形式(for循环达成):

 

<?php

   function
getResult($month){

      $one = 1;
//第7个月兔子的对数

      $two = 壹;
//第一个月兔子的对数

      $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相关的代码示例,那二种艺术,希望能够帮到大家。

       
其实任何面试进程挺紧张,万幸最后做到的挺不错。那不,复试文告来了。

相关文章