/*
*非递归实现
*/
#include <iostream>
int main(void){
int i;
int f[20] = {1, 1};
for(i=2; i<20; i++){
f[i] = f[i-1] + f[i-2];
}
for(i=0; i<20; i++){
if(0==i%5){
std::cout << std::endl;
}
std::cout << f[i] << '\t';
}
std::cout << std::endl;
}
/*
*递归实现
*/
#include <iostream>
using namespace std;
long fibonc(int n);
int main(void){
cout << fibonc(20) << endl;
return 0;
}
long fibonc(int n){
if(1==n || 2==n){
return 1;
}else{
return fibonc(n-1) + fibonc(n-2);
}
}