PHP基于递归算法解决兔子生兔子问题
发布:smiling 来源: PHP粉丝网 添加日期:2018-10-11 14:10:41 浏览: 评论:0
本文实例讲述了PHP基于递归算法解决兔子生兔子问题。分享给大家供大家参考,具体如下:
接到面试通知辗转反侧,一直在默念明天改如何介绍自己的项目经验等。
早早的起床,洗漱,把自己的总结的问题自问自答了一些。
匆匆吃了早饭,挤进让人面目狰狞的地铁,此时什么都不顾,只盼着赶紧下地铁。终于提前半小时到了面试地点,再次拿出准备的问题看了几眼,还剩15分钟上去。跟着人力填了表格,然后给了我一个算法题。
如下:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,请编程输出两年内每个月的兔子总数为多少?
忽然记起来,这道题之前的一个朋友跟我谈论过,思路是一样的。
第一种方法(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.'对兔子';
- }
- //测试:
- getResult(8)
- //输出:8个月后共有21对兔子
第二种方法(递归):
- <?php
- 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哥们。
Tags: 递归 兔子 算法
相关文章
- ·PHP递归算法的实例程序(2016-01-01)
- ·CI框架实现递归生成文件路径并重新生成图片功能(2018-11-15)
- ·递归删除一个节点以及该节点下的所有节点示例(2020-10-29)
- ·PHP对象递归引用造成内存泄漏分析(2021-04-10)
- ·php使用递归计算文件夹大小(2021-05-04)
- ·PHP递归遍历文件夹去除注释并压缩php源代码的方法示例(2021-09-17)
- ·PHP递归写入MySQL实现无限级分类数据操作示例(2021-10-10)
- ·php菜单/评论数据递归分级算法的实现方法(2021-12-08)
- ·WebQQ网页hash加密算法PHP版(2014-07-11)
- ·openssl使用DSA算法生成签名实例详解(2014-08-21)
- ·PHP中的 Mcrypt 可逆加密算法(2014-08-23)
- ·PHP加密解密内部算法 (2014-08-25)
- ·php排序算法?php排序经典算法(2014-08-27)
- ·PHP中奖概率的抽奖算法程序代码(2014-08-27)
- ·PHP与asp.net C#可共用的可逆加密算法(2014-08-27)
- ·php hash算法实现数组的方法(2014-09-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)