今天在网上参加了个红帽IT技能竞赛,都是一些简单的问题。其中遇到一个青蛙爬井问题:青蛙在10米深的水井里面,每跳一次爬3米,但是会滑落2米,请问青蛙需要条多少次才能跳出井?
刚开始遇到这个问题,笔者只是使用口算来完成,考试完后想着使用python脚本来完成这个简单的算法问题,其实就是达到条件退出循环问题。
代码如下所示:
函数frog_algorithm完成算法条件判断,在每跳一次3米后就判断是否大于等于10米,不满足就下滑2米,然后继续接着跳,直到满足10米后推出while循环达到要求。
在好奇心驱动下,笔者搜索了青蛙爬井问题,看看其他算法是怎么实现的,出现了另外有个问题就是青蛙跳台阶问题:问题描述:青蛙每次跳台阶每次只能跳一个台阶或两个台阶,跳到第10个台阶总共有多少种跳法?深入探索后,发现这是答案就是斐波那契数列,n层台阶 = n - 1层台阶方法 + n - 2层台阶方法。使用python来实践这个算法,下面是使用网友的方法来实现的两个方法。
网友评论