1.题目:求第n个斐波那契数。那么什么是斐波那契数呢?例如:1、1、2、3、5、8、13、21、34、……
2.思路:(1)递归法:当n<=2时数均为1,当n>=3时,第n个数为Fib(n-1)+Fib(n-2);
(2)循环法:
3.代码如下:
#include <stdio.h>
/*递归方法:
int count=0;
int Fib1(int n)
{
if(n<=2)
{
return 1;
}
else
{
return Fib(n-1)+Fib(n-2);
}
}
int main()
{
int n=0;
scanf("%d",&n);
int ret=0;
ret=Fib1(n);
printf("ret = %d\n",ret);
printf("count = %d\n",count);
return 0;
}
*/
//循环的方法:
int Fib2(int n )
{
int a=1;
int b=1;
int c=1;
while(n>2)
{
c=a+b;
a=b;
b=c;
n--;//限制循环次数
}
return c;
}
int main()
{
int n=0;
scanf("%d",&n);
int ret=0;
ret=Fib2(n);
printf("ret = %d\n",ret);
return 0;
}