0
点赞
收藏
分享

微信扫一扫

函数迭代&函数递归比较 求第n个斐波那契数

说明:

运算结果:

函数迭代&函数递归比较 求第n个斐波那契数_斐波那契数

代码如下:

int count = 0;
int count1 = 0;
int Fib(n)
{
if (n == 3)
{
count++;
}
if (n <= 2)
return 1;

else
return Fib(n - 1) + Fib(n - 2);
}

int Fib1(n)
{
int a = 1;
int b = 1;
int c = 1;
while (n > 2)
{
c = a + b;
a = b;
b = c;
n--;
count1++;
}
return c;
}

int main()
{
int n = 0;
printf("请输入一个数字n:");
scanf("%d", &n);
printf("\n");
int ret = Fib(n);
int ret1 = Fib1(n);
printf("递归法结果为ret= %d\n", ret);//递归法运算结果
printf("递归法运算次数为count= %d\n", count);//递归法运算次数
printf("\n");
printf("迭代法结果为ret1= %d\n", ret1);//迭代法第n个斐波那契数
printf("迭代法运算次数为count1= %d\n", count1);//迭代法运算次数
return 0;
}
举报

相关推荐

0 条评论