问题青蛙一次可以跳一级台阶也可以跳两级台阶,跳十级台阶共有多少种跳法。
我们先对题进行分析
青蛙跳一级台阶只有一种跳法
青蛙跳两级台阶时可以一次跳一级也可以一次跳两级,共两种跳法
当青蛙跳三级台阶时我们的跳法就更多一些了,共三种
通过以上规律就会发现青蛙跳台阶问题跟我们以前学过的知识有些类似,就是斐波那契数列
1 1 2 3 5 8 13,我们想要求的数等于前两个数的和,我们尝试用C语言代码去实现有两种方法。
我们先定义主函数
主函数的内容就是获取我们想知道的青蛙跳到第几级台阶有多少种跳法
我们再来定义实现求出青蛙跳台阶方法的函数
先写出我们可以已知的量就是跳一级台阶和跳两级台阶共有多少种跳法,利用已知的两个数来求出跳更多的台阶会有多少种跳法。
我们看看实现效果
当然我们用C语言实现肯定不是只有一种方法我们还可以用递归的方式
递归呢就是自己调用自己,当递归到有返回数是开始回归求值。
实现效果