这篇文章主要介绍了PHP基于递归算法解决兔子生兔子问题,结合实例形式分析了兔子生兔子问题的php面试题采用循环与递归两种思路的解决方法,需要的朋友可以参考下

本文实例讲述了PHP基于递归算法解决兔子生兔子问题。分享给大家供大家参考,具体如下:

接到面试通知辗转反侧,一直在默念明天改如何介绍自己的项目经验等。

早早的起床,洗漱,把自己的总结的问题自问自答了一些。

匆匆吃了早饭,挤进让人面目狰狞的地铁,此时什么都不顾,只盼着赶紧下地铁。终于提前半小时到了面试地点,再次拿出准备的问题看了几眼,还剩15分钟上去。跟着人力填了表格,然后给了我一个算法题。

如下:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,请编程输出两年内每个月的兔子总数为多少?

忽然记起来,这道题之前的一个朋友跟我谈论过,思路是一样的。

第一种方法(for循环实现):

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.'对兔子';

}

//测试:

getResult(8)

//输出:8个月后共有21对兔子

第二种方法(递归):

function fun($n){

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

return 1;

}else{

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

}

}

//测试:

echo fun(8)

//输出:21

事后,也去网上查了一下,但是大多数代码示例都是C语言、c++、java等等语言的。并没有太多PHP相关的代码示例,这两种方法,希望可以帮到大家。

其实整个面试过程挺紧张,好在最后完成的挺漂亮。这不,复试通知来了,感谢那个千锋PHP哥们。

您可能感兴趣的文章:

关于ThinkPHP中的异常处理详解_php实例

PHP7基于curl实现的上传图片功能php技巧

PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析php技巧

兔子问题 php,PHP基于递归算法解决兔子生兔子问题php技巧相关推荐

  1. php狼和兔子算法,PHP基于递归算法解决兔子生兔子问题php技巧

    这篇文章主要介绍了PHP基于递归算法解决兔子生兔子问题,结合实例形式分析了兔子生兔子问题的php面试题采用循环与递归两种思路的解决方法,需要的朋友可以参考下 本文实例讲述了PHP基于递归算法解决兔子生 ...

  2. python生兔子问题(递归算法)_python 实现兔子生兔子示例

    python 实现兔子生兔子示例 如下所示: # -*- coding: utf-8 -*- # 简述:话说有一对可爱的兔子,出生后的第三个月开始,每一月都会生一对小兔子. # 当小兔子长到第三个月后 ...

  3. 斐波那契生兔子问题(一月大兔子生a对,二月大兔子生b对,三月大兔子生c对。。。)

    现提出一个问题:一对兔子一个月大时可生育a对兔子,两个月大的兔子生育b对兔子,三个月大及以后的兔子生c对兔子.假设兔子不死,现有1对兔子,问N个月后有多少只兔子. 看起来这是一个递推数列的问题,要注意 ...

  4. python生兔子问题(递归算法)_兔子问题python解决方法

    兔子问题 Python 解决方法 题目 : 有一对兔子, 从出生后第 3 个月起每个月都生一对兔子, 小兔子长到第三月后每个月 又生一对兔子,假如兔子都不死,问每个月兔子总数为多少 ? 这就是典型的斐 ...

  5. python递归算法解决兔子繁殖问题_经典生兔子问题——递归方法

    例题: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子.假如兔子都不死,要求输出一年内兔子的数量是多少. 分析: 该题是典型的斐波那契数列的一个实例应用. 我 ...

  6. java古典兔子问题c语言,Java递归算法经典实例(经典兔子问题)

    Java递归算法经典实例(经典兔子问题) 题目:古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思 ...

  7. 基于递归算法,树形结构数据下业务场景,封装解决方法

    本文源码:GitHub·点这里 || GitEE·点这里 一.递归算法 1.概念简介 递归算法的核心思想是通过将问题重复分解为同类的或其子问题的方式,从而可以使用统一的解决方式.很多编程语言支持方法或 ...

  8. java解决兔子_JAVA编程题-用java解决兔子问题

    题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 解答: 分析:从第一对兔子开始,第1个月1对兔 ...

  9. 生兔子问题(递归算法)

    作业一.有一对兔子,生长三个月后.开始生第一对兔子,并且以后每月生一对兔子,小兔子生长三个月后,也开始生兔子,问N个月后兔子的总数量 package org.westos.homework;impor ...

最新文章

  1. 实时通信技术之websocket
  2. ubuntu server搭建svn server
  3. 上海工程技术大学计算机通信与网络,上海工程技术大学
  4. linux之tr命令使用和总结
  5. php注册登录遍写入 遍验证,自动注册登录验证机制的php代码
  6. Windows下安装scikit-learn
  7. Android程序打开和关闭输入法
  8. android同步方法和对象的区别是什么,(4.1.10.8)Android Handler之同步屏障机制(sync barrier)...
  9. kindle型号查询
  10. 业务,大数据监控平台搭建
  11. 数据库perl脚本:创建SDB各表,并导入数据
  12. python数据笔记分析_python数据分析入门学习笔记
  13. 聊一次跳槽被怼的经历
  14. 雷电3菊链功能_别选错!笔记本的Type-C和雷电3接口区别可大了
  15. 无人洗车小程序源码开发
  16. shell--扩展正则表达式之egrep
  17. 【HDU100】杭电入门一百道 C++ 全 题 解
  18. android annotations
  19. 人工智能1—K-means聚类算法
  20. Latex花体(Script)的使用

热门文章

  1. 【001】机器学习基础-凸优化基础
  2. 这是未来的隐私工具吗?
  3. 不一样的 LaTeX 教程(第二话):LaTeX 多级标题设置必知必会
  4. MIX2 适配看这一篇就够了,18:9 只需一行代码
  5. AUTOSAR CanNm Nm Configuration
  6. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分
  7. 低延时直播系统开发技术方案
  8. hadoop安装作业
  9. 分享下最近的Nvidia GPU 3060 laptop GPU、linzhi、Tesla算力曲线
  10. Servlet常见错误 404错误 405错误 500错误等。解决方法