题目2:在斐波那契数列中,找出4百万以下的项中值为偶数的项之和。
2015-09-08 22:56
761 查看
<?php /** * 题目2:在斐波那契数列中,找出4百万以下的项中值为偶数的项之和。 * * @autor 花生米 * @date 2015-09-08 * @desc php version 5.4.33 */ $max = 40000000000; /** * 思路1 * 时间复杂度:O(n) * 这是最容易想到的方法 */ if (false) { $a = 1; $b = 2; $s = 0;//总和 while ($b < $max) { //偶数则加 if (($b & 1) == 0) { $s += $b; } $t = $b; $b = $a + $b; $a = $t; } } /** * 思路2:(优) * 时间复杂度:O(n) * 斐波那契数列 * 0 1 1 2 3 5 8 13 21 34 55 89 144 ... * a b c a b c a b c a b c * 仔细观察可知,都是每三项一个偶数,而且 * 8 = 4 * 2 + 0; * 34 = 4 * 8 + 2; * 144 = 4 * 34 + 8; * 故思路2就是这个方式来求解 */ if (false) { $a = 0;//第一项从0开始 $b = 2;//第二项从2开始 $s = 0; while ($b < $max) { if (($b & 1) == 0) { $s += $b; } $t = $b; $b = 4 * $b + $a; $a = $t; } }
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料