ppts.net
当前位置:首页>>关于分别用递归和非递归方法求取Fibonacci数列.的资料>>

分别用递归和非递归方法求取Fibonacci数列.

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

public class Fibonacci1 { public static long fib(int n) { long f1 = 1, f2 = 1; long m = 0; if(n

/**已知Fibonacci数列:1,1,2,3,5,8,……,F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)*/#include #include typedef long long int int64;//方法1,递归法int64 Fibonacci(int n){int64 sum;if(na.exe5F(5)=5F:\c_work>a.exe6F(6)=8

#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

确实错了,递归运算中不能调用目标表达式 应该是: int f(int n) { if(n==1 || n==2) return 1; else return f(n-1)+f(n-2); }

递归法: #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("请输入...

这是递推算法又不是排序算法,就一个公式有什么时间复杂度,扯淡了

int Fib(int x){ if (x == 1 || x == 2) return 1; return Fib(x-1) + Fib(x-2);}main函数我就不写了,两层For循环就可以,比较简单。

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

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