#include <cstdio>
int fib(int);//用循环好;
int main()
{
int n;
while(~scanf("%d", &n))
{
printf("%d\n", fib(n));
}
return 0;
}
int fib(int n)//循环算法;
{
int n1 = 1, n2 = 1;
int ret = 1;
if(n <= 2)
{
return 1;
}
else
{
int i = 3;
for(i = 3; i <= n; i ++)
{
ret = n1 + n2; //将第一、二项相加
n1 = n2; //将第二项赋给第一项
n2 = ret; //从新标定第二项
}
return ret;
}
}
//int fib(int n) //递归算法,函数中调用函数;
//{
// if(n <= 2)
// {
// return 1;
// }
// else
// {
// return fib(n - 1) + fib(n - 2);
// }
//}
相关文章
- 12-03斐波拉契数列(Fibonacci) 的python实现方式
- 12-03剑指 Offer 10- I. 斐波那契数列
- 12-03斐波那契数列——(顺推法)
- 12-03python实现斐波那契数列
- 12-03斐波那契数列
- 12-03还在用递归实现斐波那契数列,面试官一定会鄙视你到死
- 12-03斐波那契数列递归次数
- 12-03斐波那契函数的优化
- 12-03用递归函数求n的阶乘及斐波那契数列中的第n个数的值
- 12-03LeetCode-斐波那契数