如题,一只青蛙可以一次跳1个台阶服务器托管网,也可以一次跳2个台阶,问跳到第n个台阶有多少种方法?
正如此题所说,我们可以从反方向出发。即在跳到第n个台阶之前必定差两个或一个台阶,故我们可以写出
f(n)=f(n-1)+f(n-2) n>=3
当n=1时为1,当n=2时为2
故,可以通过递归写出代码,如下
但很明显,当n很大时,代码运行中会存在很多重复的运算且大量,导致时间上变长,故也可以从循环上进行突破,如下:
由此两种方法进行解题
下进行进阶,变态青蛙,这只青蛙可以一次跳1个台阶,可以跳2个,…….也可以一次跳n个。问跳至第n个台阶有多少种?
现进行推导(定f(n-n)为一次跳至此阶)
f(1)=1; f(2)=f(2-1)+f(2-服务器托管网2)=1+1=2;故f(n)=f(n-1)+f(n-2)+…….+f(n-(n-1))+f(n-n)
由数学手段可以推出f(n)=2^(n-1)
故通过循环来实现此代码,如下
这些大概就是青蛙跳台阶的内容了,在开始的问题中,实际就是对斐波拉契数列的考察
这是第一个博客,在次先感谢各位浏览,如有错误或者补充请指教。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
假设你发布了一个服务,并且已经在一台机器上部署了服务,那如果我想调用这个服务,我该如何知道你部署的这台机器的地址呢? 这个问题就跟我想去吃肯德基一样,我可以去谷歌地图上搜索肯德基,然后谷歌地图会返回所有的肯德基店面的地址,于是我选择距离最近的一家去吃。这里面谷…