int fun(int n) { if(n==0)return 0; if(n==1)return 1; else return fun(n-1)+fun(n-2); } // (2^n,n) long long feibona(int n) { long long nResult=0; long long nFirst=0,nSecond=1; long long nCount=1; if(n<2) { return n; } while(nCount++<=n) { nResult = nFirst+nSecond; nFirst = nSecond; nSecond = nResult; } return nResult; } // (n,1) int main() { int n=10; cout<<feibona(n)<<endl; cout<<fun(n)<<endl; // cout<<(float)pow(2,50)<<endl; return 0; } 注:(时间复杂度,空间复杂度) 层次性: 注意点: 1 n=0 return 0; 2 long long unsigned long long 3 while(nCount++<=n) 4 三目运算符的简易写法
数列的层次
时间: 2024-09-30 04:03:45