C语言PHP递归消除兔子难题,面试必备

       
接到面试公告辗转反侧,一贯在默念后天改什么介绍本身的花色经验等。早早的起来,洗漱,把温馨的下结论的题材自问自答了有个别。匆匆吃了早饭,挤进让人面目粗暴的大巴,此时怎么都不顾,只盼着尽快下客车。终于提前半钟头到了面试地方,再度拿出准备的标题看了几眼,还剩14分钟上去。跟着人力填了报表,然后给了自身1个算法题。如下:

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

       
忽然记起来,那道题在此以前跟1个朋友谈谈过,思路是一致的。

先是种情势(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.’对兔子’;

   }

C语言,其次种方法(递归):

 

<?php

   function
fun($n){

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

       return
1;

   }else{

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

   }

}

       
事后,也去网上查了一晃,不过多数代码示例都以C语言、c++、java等等语言的。并从未太多PHP相关的代码示例,那三种方式,希望得以帮到我们。

       
其实整个面试进度挺紧张,还好结尾完毕的挺美丽。那不,复试公告来了。