大数斐波那契数列的算法

【大数斐波那契数列的算法】斐波那契数列简单版:


n小于10,性能尚可。n取大数,使用时间飙升。优化一下,空间换时间,已经计算出结果的存在数组里,复用。

现在性能是够了,但是如果n取的数特别大,超出整型或浮点型的范围,那就要改用字符串存储。要实现竖式加法。
$s2Length) { $length = $s1Length; $s2 = str_pad($s2, $s1Length, '0', STR_PAD_LEFT); } else { $length = $s2Length; $s1 = str_pad($s1, $s2Length, '0', STR_PAD_LEFT); }$returnRes = ''; $carry = 0; for ($i=$length-1; $i>=0; $i--) { $result = intval($s1[$i]) + intval($s2[$i]) + $carry; $res = $result % 10; $carry = floor($result / 10); $returnRes = $res . $returnRes; }if ($carry > 0) { return strval($carry) . $returnRes; }return $returnRes; }

最终算法。

    推荐阅读