早教吧 育儿知识 作业答案 考试题库 百科 知识分享

如何不用递归计算Fibonacci数列要尽可能的算出大的数据,列如能算出第100项是多少或更大项

题目详情
如何不用递归计算Fibonacci数列
要尽可能的算出大的数据,列如能算出第100项是多少或更大项
▼优质解答
答案和解析
//求斐波拉契数列,第0项为数列首项.计算第92项时会溢出
function Fibonacci(Index: Integer): Int64;
var
i: Integer;
n1, n2, n3: Int64;
begin
n1 := 1; //各变量初始化
n2 := 1;
Result := 1;
for i := 2 to Index do
begin
Result := n1 + n2; //计算第三个数字
n1 := n2; //将第二个数作为第一个数
n2 := Result; //将第三个数作为第二个数,以便计算新数
end;
end;