首页 > 其他 > 详细

跳台阶

时间:2021-01-30 17:43:36      阅读:17      评论:0      收藏:0      [点我收藏+]

题目:(1)一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。

 

分析:当n = 1, 只有1中跳法;当n = 2时,有两种跳法;当n = 3 时,有3种跳法;当n = 4时,有5种跳法;当n = 5时,有8种跳法;

n 1 2 3 4 5 6 7 8 9 10
sum 1 2 3 5 8 13 21 34 55 89

规律如下:

f(n)=f(n-1)+f(n-2)

 

首先考虑简单的情况

只有一个台阶的时候只有一种跳法

两个台阶时有两种跳法。

对于有n阶楼梯时,有f(n)种跳法,假设先跳一个台阶,则剩下n-1个台阶,就还有f(n-1)中跳法,假设先跳两个台阶,则剩下n-2个台阶,就还有f(n-2)中跳法。

由此可以推导出,对于一个n阶楼梯:

技术分享图片

 

 代码如下:

 1 #include "stdio.h"
 2 #include "stdlib.h"
 3   
 4 int function(int n);
 5   
 6 int main(void)
 7 {
 8   int tmp;
 9     
10   tmp = function(10);
11   printf("%3d\n",tmp);
12   
13   return 0;
14 }
15   
16 int function(int n)
17 {
18   if(n == 1)
19     return 1;
20   else if(n == 2)
21     return 2;
22   else 
23     return function(n-1) + function(n-2);
24 }

 

跳台阶

原文:https://www.cnblogs.com/ghwxxg/p/14348690.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!