在本文里我们给大家讲解一下如何用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个台阶时,倒数第一个台阶可以一步跳过来,倒数第二个台阶也可以一步就跳过来
非递归版本:
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);
以上代码实例大家可以在本地测试下,感谢大家对编程学习网的支持。
沃梦达教程
本文标题为:php中青蛙跳台阶的问题解决方法
基础教程推荐
猜你喜欢
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP中的错误及其处理机制 2023-06-04
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- 使用PHP开发留言板功能 2023-03-13
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- php array分组,PHP中array数组的分组排序 2022-08-01
- PHP命名空间简单用法示例 2022-12-01
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02