Fibonacci数列
无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci数列。它可以递归地定义为:
第n个Fibonacci数可递归地计算如下:
int fibonacci(int n)
{
if (n <= 1) return 1;
return fibonacci(n-1)+fibonacci(n-2);
}
编写完整的主函数,分别记录利用上述递归函数求第47, 48, 49, 50, 51,52个Fibonacci数所花费的时间。
代码:
#include<iostream>
#include<ctime>
using namespace std;
#define N 100
int fibonacci(int n)
{
if (n <= 1) return 1;
return fibonacci(n-1)+fibonacci(n-2);
}
int main(){
time_t f,l;
double tt;
for(int i=47;i<=52;i++){
f=clock();
fibonacci(i);
l=clock();
tt=(double)(l-f)/CLOCKS_PER_SEC;
cout<<tt<<" ";
}
return 0;
}