如何不用递归计算Fibonacci数列

1个回答

  • //求斐波拉契数列,第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;