剑指offer 面试题9 递归 非波那且数列

来源:互联网 发布:java文件上传工具类 编辑:程序博客网 时间:2024/05/17 10:06
/*这实在没什么好敲的。这里主要讲的几个问题第一个 面试时如果没有特殊要求 就递归第二 非波那且 循环不用开数组 只要记录前两个就行了。其实也不是完全没价值  如果让我 我就开数组了。开尼馬数组干蛋啊 只球fn还有这里有个题目 挺有意思。。。都是和非波那且有关系的1青蛙每次可以跳一个台阶 或者两个 问到第n台阶多少种方法 这个早就知道 就是非波那且的fn2如果青蛙每次可以跳任意多个 一共多少中方法 这个也推一下就可以了 是二的n-1次方3如果有 一个 长条两个1*1的小方格组成的。然后有 一个 8*2 的大矩形问用这中小的组成大的 多少中方法也是简单的推一下 如果第一个小的 竖着放 就是f(7)如果横着放肯定还得横着放一个所以是f(6)  还有非波那且有O(logn)的算法 就是不常用  大概就是一个矩阵的 n-1 次方后 最左上角的哪个就是*/#include<iostream>#include<cstdio>using namespace std;int fibonaci(int n){    int res[2]={0,1};    if(n<2)    return res[n];    int num1=0;    int num2=1;    int ans;    for(int i=2;i<=n;++i)    {        ans=num1+num2;        num1=num2;        num2=ans;    }    return ans;}int main(){    int n;    while(cin>>n)    {        cout<<fibonaci(n)<<endl;    }    return 0;}

原创粉丝点击