`
xitong
  • 浏览: 6208516 次
文章分类
社区版块
存档分类
最新评论

PHP实现斐波那契数列

 
阅读更多

斐波那契数列(Fibonacci Sequence),又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)。我用递归和迭代两种方法实现了斐波那契数列

/**
* Description:php实现斐波那契数列
* @author wzy
*/
class fibonacci_sequence {
	// 使用迭代实现斐波那契数列
	function fibs1($n) {
		if ($n < 1)
			return - 1;
		$a [1] = $a [2] = 1;
		for($i = 3; $i <= $n; $i ++) {
			$a [$i] = $a [$i - 1] + $a [$i - 2];
		}
		return $a [$n];
	}
	
	// 使用递归实现斐波那契数列
	function fib2($n) {
		if($n<1)
			return -1;
		if ($n == 1 || $n == 2) {
			return 1;
		}
		return $this->fib2($n-1)+$this->fib2($n-2);
	}
}
分享到:
评论
1 楼 vb2005xu 2016-08-24  
这样你跑一个1000试试,卡不死你

相关推荐

    php实现斐波那契数列代码分享

    斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368…….. 这个数列从第3项开始,每一项都等于前两项之和。 F0=...

    php实现斐波那契数列的简单写法

    主要介绍了php实现斐波那契数列的简单写法,需要的朋友可以参考下

    在php中用递归和迭代法求斐波纳挈数列

    斐波那契数列,又称黄金分割数列,斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 这个数列从第三项开始,每一项都等于前两项之...我上传的是用php中,用递推和迭代求斐波那契数列

    用php迭代器来实现一个斐波纳契数列函数类.zip

    分享一个用php迭代器来实现一个斐波纳契数列函数类。斐波纳契数列通常做法是用递归实现,当然还有其它的方法。这里现学现卖,用PHP的迭代器来实现一个斐波纳契数列,几乎没有什么难度,只是把类里的next()方法重写了...

    php代码-斐波那契数列

    php代码-斐波那契数列

    php处理斐波那契数列非递归方法

    phpchina上有个名人叫大白菜心,经常会拿这个事来说事。传统处理会把斐波那契数列用递归来处理,效率慢是必然的。不过他说事说吧,居然不拿出答案来,就有点不厚道了

    斐波那契数列 爬楼梯问题 python & php版

    爬楼梯问题 假设你正在爬楼梯, 需要 n 阶你才能到达楼顶 每次你可以爬 1 或 2 个台阶, 你有多少种不同的方法可以爬到楼顶呢?...斐波那契公式 Fn=1/5[(1+52)n−(1−52)n] F_{n} = 1 / \sqrt{5} \left

    50个优秀经典PHP算法大集合

    │ ├── Fibonacci.php 斐波那契数列 │ ├── StealingApples.php 偷苹果求余 │ ├── HanoiGames.php 汉诺塔游戏 │ ├── BidirectionalQueue.php 双向队列 │ ├── ColorBricks.php 彩色砖块 │ ├── ...

    PHP迭代器实现斐波纳契数列的函数

    复制代码 代码如下:class Fibonacci implements Iterator { private $previous = 1; private $current = 0; private $key = 0; public function current() { return $this-&gt;current; } public function key() { ...

    基于Go和PHP语言实现爬楼梯算法的思路详解

    主要介绍了Go和PHP 实现爬楼梯算法,本文通过动态规划和斐波那契数列两种解决思路给大家讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    PHP中递归的实现实例详解

    例如:最常用于递归讲解的斐波那契数列便是一个极为典型的例子,而其他的例如阶层(n!)也可以转化为递归的定义(n! = n*(n-1)!).即使是在现实生活中,递归的思想也是随处可见:例如,由于学业问题你需要校长盖章,...

    php中青蛙跳台阶的问题解决方法

    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 ...

    tech404-morning-coding:一组真正的随机编码练习

    2015 年 5 月 1 日 - 编写一个工具来确定一个数字是否为素数请将您的示例放在 `is-it-prime/yourname_prime.* 2015 年 4 月 30 日 - 发布斐波那契数列的可视化表示请将您的示例放在fibonacci/yourname_fibonacci.*

    algorithm:回顾PHP中的算法

    使用PHP编写算法和数据结构的代码。 搜索 种类 合并排序 快速分类 Shellsort 简单插入排序 简单选择排序 气泡排序 其他 嘶嘶声 环形缓冲区 阶乘计算 河内塔 欧几里得算法 ...斐波那契数列(包括记忆递归)

    关于尾递归的使用详解

    这几天看到几篇关于尾递归的文章,之前对尾递归没有多大概念,所以回头研究了一下尾递归。  尾递归的概念尾递归(Tail Recursion)的概念...比如”菲波纳锲”数列的php的递归实现:复制代码 代码如下:fibonacci.php 

    five_problems:如果五个小时内不能解决的问题,程序员将失去资格

    例如,前10个斐波那契数列是0、1、1、2、3、5、8、13、21、34。 问题4 给定一个正整数列表,编写一个对数字排序并返回最大可能数字的函数。例如,给定[50,2,1,9],95021是答案。 问题5 编写一个程序,以该顺序...

Global site tag (gtag.js) - Google Analytics