递归以及非递归实现:
#include<iostream> using namespace std; long long fun(long long n){ if(n == 0){ return 0; } if(n ==1){ return 1; } return fun(n-1) + fun(n-2); } long long fun1(long long n){ if(n == 0){ return 0; } if(n ==1){ return 1; } int n1 = 1; int n2 = 0; int sum = 0; for(int i =2; i <= n; i++){ sum = n1 + n2; n2 = n1; n1 = sum; } return sum; } int main(){ // 1.递归实现 cout<<fun(15)<<endl; // 2.非递归实现 cout<<fun1(15)<<endl; system("pause"); return 0; }