C++不用递归,怎么编写斐波那契数列

用非递归的函数调用形式求斐波那契数列第n项。...
2026年09月16日 22:36
有2个网友回答
网友(1):

斐波那契数列的递推式是
an = an-1 + an-2
所以设初始p = q = 1 //分别是数列第1,2项
每次
temp = q;
q = p+q;
p = temp; //就可以实现p,q同时后移

网友(2):

#include
void main()
{
int i, n, t1, t2;
while(1){
printf("input n = ");
scanf("%d", &n);
t1 = t2 = 1;
if(n > 2){
for(i = 2; i < n; i++)
{
t2 = t2 + t1;
t1 = t2 - t1;
}
}
printf("F(%d) = %d \n",n, t2);
}
}