nsjd.net
当前位置:首页 >> 斐波那契数列递归算法 >>

斐波那契数列递归算法

用递归方法计算斐波那契数列的第n项的代码如下: #include int Fibonacci(int n) { if( n == 1 || n == 2) // 递归结束的条件,求前两项 return 1; else return Fibonacci(n-1)+Fibonacci(n-2); // 如果是求其它项,先要求出它前面两项,然后做...

没怎么看懂你的递归,我给你写了一个,你参考参考 #include int fun(int n) { if(n==1 || n==2) return 1; else return fun(n-1) + fun(n-2); } int main(void) { int n,i=0; printf("请输入要输出数列的前多少项:"); scanf("%d",&n); if(n>=1)...

递归法: #includevoid main(){int Fibonacci(int n);int n,i,c=0;printf("请输入n的值:");scanf("%d",&n);for(i=1; i=3)f = Fibonacci(n-1) + Fibonacci(n-2);return f;}非递归法: #includevoid main(){int i,n;int f[]= {1,1};printf("请输入...

显示一下就行了 printf("%d",Fib(40));

#include long fun(int i)//递归函数 { if(i==1||i==2)//递归终止条件 return 1; else//递归通式 return(fun(i-1)+fun(i-2)); } int main() { int n; printf("请输入项数:"); scanf("%d",&n); printf("\n斐波那契数列前%d项为:\n",n); for(int i...

#include void main() { int i,n; int f[]= {1,1}; printf("请输入n的值:"); scanf("%d",&n); for(i=2; i

主函数已经给出了,只要编写函数fibo,代码如下: int fibo(int n){int k;if(n==1) k=0;else if(n==2) k=1;else k=fibo(n-1)+fibo(n-2);return k;}以上即为利用递归求斐波那契数列第n项的函数,将所有代码放到题目中//write your code here的位...

#include #define N 20 int Fibonacci(int n) { if(n == 1 || n==2) return 1; else return Fibonacci(n-1)+Fibonacci(n-2); } void main() { int i = 0; for(i=1;i

#include int k=0,a[20]={0}; int digui(int n) {int x; if(n==1||n==2)x=1; else x=digui(n-1)+digui(n-2); if(a[n]==0){a[n]=1; printf("%d ",x);} return x; } int main() { int n; scanf("%d",&n); digui(n); printf("\n"); }

尾递归是一种混合了迭代和递归的算法,C语言代码如下: /* 斐波那契数列的尾递归写法 */#include double fib(double n, double a, double b){if(n2.0)return fib(n-1.0, b, a+b);}}int main(int argc, char *argv[]){double d, n = 20.0;d = fib...

网站首页 | 网站地图
All rights reserved Powered by www.nsjd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com