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

yipeiwu_com5年前PHP代码库
我自己构思了下,实际上程序来解决这个事情,就是一个偏移量的问题。首先看数列::1、1、2、3、5、8、13、21、34数列的下一个数是前2个数字之和,以此类推。
程序处理的话,实际上就是一个FOR语句,传统FOR语句是for($i=1;$i;$count,$i++),这里的偏移量是$i=$i+1.如果处理这个数列的话,这个偏移量就不是1了,是前1个数字。那么当你for的时候,一个变量记录上一个数字,另外一个记录当前数字,偏移量为这上一个数字,然后在循环中重新赋值,将上一个数字记录成当然循环值,以此做下个循环的偏移量。代码其实很简单:
复制代码 代码如下:

$count = 9999999999967543;
$array = array('0′=>1);
for($a=1,$i=2;$i<$count;$i=$i+$a){
$array[] = $a;
$array[] = $i;
$a = $a +$i;
}
print_r($array);
echo $count.'里有'.count($array).'个斐波那契数列数';

建议哪个无聊人拿这个去phpchina给大白菜职业顶贴去

相关文章

比较strtr, str_replace和preg_replace三个函数的效率

之前已经分析过strtr的源码了,现在就比较strtr, str_replace和preg_replace的效率:复制代码 代码如下:$str = '111111110000000000...

php配置php-fpm启动参数及配置详解

约定几个目录 /usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini一,...

PHP实现根据银行卡号判断银行

bankList.php请在文章末尾下载 header('Content-type:text/html;charset=utf-8'); require_once('bankLis...

Linux下安装PHP MSSQL扩展教程

Linux下安装PHP MSSQL扩展教程

PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP对SQL Server进行操作,遂帮忙配置好环...

php中OR与|| AND与&amp;&amp;的区别总结

php中OR与|| AND与&amp;&amp;的区别总结

本身没有区别,习惯问题 ,但是有时候牵涉到运算符优先级的问题,结果会不同,记录下。 例如: 复制代码 代码如下:$p = 6 or 0; var_dump($p);//int(6) $p...