关闭

有N个台阶,可以走两步也可以走一步 一共有多少种走法

标签: java算法
738人阅读 评论(0) 收藏 举报
分类:

递归的思想:

走1步则还剩余n-1个台阶,

走2步则还剩余n-2个台阶。

分别接着去求出n-1和n-2个台阶的走法、

public int CountNumber(int n){
if(n<1){
return 0;
}
if(n==1){
return 1;
}
if(n==2){
return 2;
}
if(n>2){
return CountNumber(n-1)+CountNumber(n-2);
}
}


0
0
查看评论

Python实现N阶台阶的走法问题

题目:一栋楼有N阶楼梯,兔子每次可以跳1、2或3阶,问一共有多少种走法? Afanty的分析: 遇到这种求规律的问题,自己动动手推推就好,1阶有几种走法?2阶有几种走法?3阶有几种走法?4阶有几种走法?5阶有几种走法? 对吧,规律出来了! 易错点:这不是组合问题,因为第1次走1阶、第2次走2阶 ...
  • mo_yihua
  • mo_yihua
  • 2016-06-12 01:33
  • 1609

楼梯上有n阶台阶,上楼时可以一步上1阶,也可以一步上两阶,编写算法计算共有多少种不同的上楼梯的方法。

数学模型:此问题如果按照习惯,从前向后思考,也就是从第一阶开始,考虑怎么样到第二阶、第三节、第四阶……则很难找到问题的规律;而反过来先思考“到第n阶有哪几种情况”,答案就简单了,只有两种情况; (1) 从第n-1阶到第n阶 (2) 从第n-2阶到第n阶此问题为斐波那契数列的应用。#include...
  • u011954296
  • u011954296
  • 2016-04-08 10:45
  • 4107

【面试题】N级台阶(比如100级),每次可走1步或者2步,求总共有多少种走法?

走台阶算法(本质上是斐波那契数列)在面试中常会遇到,描述就如题目那样:总共100级台阶(任意级都行),小明每次可选择走1步、2步或者3步,问走完这100级台阶总共有多少种走法?一、 题目分析这个问题本质上是斐波那契数列,假设只有一个台阶,那么只有一种跳法,那就是一次跳一级,f(1)=1;如果有两个台...
  • u010983881
  • u010983881
  • 2016-01-05 15:31
  • 12107

100个台阶,一次走一步,走两步,走三步,有多少种可能

分析 第一个台阶  1 第二个台阶  11 2    //走两次1步或者走1次两步 第三个台阶  111 12 21 3 第四个台阶  1111 112 121 211 22 13 31 f(n)=f(n-1)+f(n...
  • eouaq448466
  • eouaq448466
  • 2017-02-06 09:54
  • 714

n级阶梯,每次走一步或两步,问最多有多少种走法

遇到这道题两次了,现在来总结下。      方法一:运用组合数学的思想。假设在整个过程中,我有k次走了两步,那么剩下的n-2k次我走的都是一步,那么我总的走的步数是k+n-2k。则结果为从n-k里面选了k次走两步,结果为,代码如下: public BigDecima...
  • haiyi727
  • haiyi727
  • 2015-04-09 23:50
  • 1852

[算法]n阶台阶,一次走一步或两步,有多少种走法?

递归实现. 重要的是理解这个逻辑 假设有f(n)种走法, 当走到N-1阶台阶时,有f(n-1)种走法,再走一步走完。 当走到n-2阶台阶时,有f(n-2)种走法, 再走1+1或2,走完。其中走1+1和走到n-1阶时的f(n-1)重复。 所以f(n)=f(n-1))+f(...
  • kangbin825
  • kangbin825
  • 2017-05-10 22:24
  • 1222

走台阶问题(转)

一个楼梯有50个台阶,每一步可以走一个台阶,也可以走两个台阶,请问走完这个楼梯共有多少种方法? 举个例子,假设有3个台阶,则有三种走法:分别是,1-1-1, 1-2, 2-1。 分析 很简单的一道题,学过组合数学的人很快就能想到,这是一个递推关系。假设走完k个台阶有f(k)种走法。 k =...
  • zyn010101
  • zyn010101
  • 2013-05-14 13:37
  • 555

N个台阶,一次可以走一步或者两步,求走这n个台阶有多少种方法(递归和非递归实现)

1、递归实现 ///递归方法 int Fibonacci(unsigned int N) { if(N<=2) return N; else return fun(N-1)+fun(N-2); }2、非递归实现 ///非递归方法 int Fi...
  • muyimufeng
  • muyimufeng
  • 2015-10-15 19:29
  • 2742

梯有N阶,上楼可以一步上一阶,也可以一次上二阶(Java实现)

梯有N阶,上楼可以一步上一阶,也可以一次上二阶.编一个程序,计算共有多少种不同的走法.如果上10阶会有几种走法(Java实现)
  • A784586
  • A784586
  • 2016-12-05 09:17
  • 834

C++作业03_02: 下楼问题。从楼上走到楼下共有h个台阶,每一步有三种走法

/* 作业03, 练习2 下楼问题。从楼上走到楼下共有h个台阶,每一步有三种走法: 走1个台阶,走2个台阶,走3个台阶。问有多少可走的方案。用递归思想编程。 */ #include #include #include static int stack[1024]...
  • iamshaofa
  • iamshaofa
  • 2013-11-28 10:02
  • 4057
    个人资料
    • 访问:104731次
    • 积分:3360
    • 等级:
    • 排名:第11922名
    • 原创:227篇
    • 转载:40篇
    • 译文:2篇
    • 评论:8条
    最新评论