0
点赞
收藏
分享

微信扫一扫

求第n个斐波那契数

janedaring 2022-11-09 阅读 108

第一种:递归,效率低,运算慢。

#include<stdio.h>

#include<string.h>

int  fib(int n)

{

if(n<=2)

return  1;

else

return fib(n-1)+fib(n-2);

}

int  main()

{

int  n=0;

int ret=0;

scanf("%d",&n);

ret=fib(n);

printf("ret=%d\n",ret);

return  0;

}

第二种:相对于第一种方法,只需将函数的定义部分变化一下,换为 迭代 就大大简化了运算。

int fib(int  n)

{

int  a=1;

int b=1;

int c=1;

while(n>=3)

{

c=a+b;

a=b;

b=c;

n--;

}

return c;

}

举报

相关推荐

0 条评论