#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);
// }
//}
斐波那契数列
最新推荐文章于 2024-09-29 16:46:50 发布