斐波那契数列的第n项
【面试题】输入一个整数n,求斐波那契数列的第n项值 (使用递归和非递归求解)
#include <stdio.h>
//递归
int fun1(int n)
{
if(n==1 || n==2)
return 1;
else
return fun1(n-1) + fun1(n-2);
}
//非递归
int fun2(int n) {
if(n==1 || n==2)
{
return 1;
}
else
{
int a=1 , b=1 ;
int c = 0;
for(int i=3; i<=n; i++)
{
c = a + b;
a = b;
b = c;
}
return c;
}
}
int main() {
int n;
printf("Please input n for getting fibonacci sequence n term\n");
scanf("%d",&n);
printf("fun1(%d) = %d\n", n,fun1(n));
printf("fun2(%d) = %d\n", n,fun2(n));
return 0;
}