【大数斐波那契数列的算法】斐波那契数列简单版:
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;
}
最终算法。