加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php中青蛙跳台阶的问题处理方法

发布时间:2022-07-14 12:15:40 所属栏目:PHP教程 来源:互联网
导读:一只青蛙一次可以跳上1级台阶,也可以跳上2级,求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路: 1.找规律 f(1)=1 f(2)=2 f(3)=3 f(4)=5 f(n)=f(n-1)+f(n-2)这是一个斐波那契数列 2.因为调到第n个台阶时,倒数第一个台阶可
  一只青蛙一次可以跳上1级台阶,也可以跳上2级,求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
 
  思路:
 
  1.找规律 f(1)=1 f(2)=2 f(3)=3 f(4)=5 f(n)=f(n-1)+f(n-2)这是一个斐波那契数列
 
  2.因为调到第n个台阶时,倒数第一个台阶可以一步跳过来,倒数第二个台阶也可以一步就跳过来
 
  非递归版本:
 
  JumpFloor(target)
   
    if target==1 || target==2 return target
   
    jumpSum=0
   
    jump1=1
   
    jump2=2
   
    for i=3;i<target;i++
   
      jumpSum=jump1+jump2
   
      jump1=jump2
   
      jump2=jumpSum
   
    return jumpSum
   
  function jumpFloor($number)
   
  {
   
      if($number==1 || $number==2){
   
          return $number;
   
      }   
   
      $jumpSum=0;
   
      $jump1=1;
   
      $jump2=2;
   
      for($i=3;$i<=$number;$i++){
   
          $jumpSum=$jump1+$jump2;
   
          $jump1=$jump2;
   
          $jump2=$jumpSum;
   
      }   
   
      return $jumpSum;
   
  }
   
  $res=jumpFloor(10);
   
  var_dump($res);
 

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读