n个台阶,每次都可以走一步,走两步,走三步,走到顶部一共有多少种可能
分析
第一个台阶 1
第二个台阶 11 2 //走两次1步或者走1次两步
第三个台阶 111 12 21 3
第四个台阶 1111 112 121 211 22 13 31
思想:4阶台阶,第一次可以迈1步(还剩3台阶也就是f(3)可能)或者2步(还剩2台阶也就是f(2)可能)或者3步(还剩1台阶也就是f(1)可能)
f(n)=f(n-1)+f(n-2)+f(n-3) 第n个台阶的可能 = n-1台阶的可能+n-2台阶的可能+n-3台阶的可能
我这里采用了递归算法
//param x 台阶数目 int goadd(int x) {if (x == 1){return 1;}else if (x == 2){return 2;}else if (x == 3){return 4;}else{return goadd(x - 1) + goadd(x-2)+goadd(x-3);}}void main() {printf("%d", goadd(5));getchar();} 转自:http://www.cnblogs.com/nfcm/p/6368058.html
转载于:https://www.cnblogs.com/huangzs/p/7608844.html
n个台阶,每次都可以走一步,走两步,走三步,走到顶部一共有多少种可能相关推荐
- 正方形分成16份,将1到16填入其中。让行和列都是从大到小。问一共有多少种方法?...
看了到面试题: 将正方形分成16份,将1到16填入其中.让行和列都是从大到小.问一共有多少种方法? 此题 解法有: 1. 穷举,基本不用考虑 复杂度O(16!). 2. 枚举+剪枝 .代码如下:得到答 ...
- 楼梯有n个台阶,一共有多少种上楼的方法?
楼梯有n个台阶,上楼可以一步上1阶,也可以一步上两阶.一共有多少种上楼的方法? 一.前言 看到这么个题目时,一脸懵逼,不知道说的啥意思,然后就多读了两边题目发现,如果有一阶楼梯,那你就一步就上去了,也 ...
- 详细解答【算法题】9个台阶,每次只能上1个或者2个,一共有多少种走法?
前言 看到这道题感觉还挺有意思的,自己第一时间并没有想出来,是看了类似博文后才豁然开朗,但是我看到的博文中都没有将下面这个数列的来龙去脉说明清楚, f ( n ) = f ( n − 1 ) + f ...
- 现有n个阶梯,你有两种上法,一次走一步或着走两步,问一共有多少种上法
问现在有N级台阶,你每次可以选择上一步或者上两步,问一共多少种上法? 这是常见的面试题之一,类似的还有生兔子问题,首先我们先来看一看解题的思路,有N级台阶,有两种上法,一次走一步或着一次走两步,如果N ...
- 一个楼梯共有 n级台阶,每次可以走一级或者两级或者三级,问从第 0级台阶走到第 n级台阶一共有多少种方案。(java)
import java.util.Scanner;public class _爬楼梯 {public static void main(String[] args) {System.out.print ...
- 10个台阶,每次只能上1个或者2个,一共有多少种走法
思路来得太慢,好想拿小锤锤捶自己哟~~~ 第一种,递归思路. 如果你上10个台阶,可以分解成下面两种情况: ● 上9个台阶,最后上1个台阶.假设这种情况下,上前面9个台阶的方法数为m. ● 上8个台阶 ...
- 走台阶一共有多少种走法
可以走1台阶 2台阶 3台阶 long long MoveStairs(int total){if (total < 4) {return total == 3 ? 4 : total;}int ...
- 有N个台阶,可以走两步也可以走一步 一共有多少种走法
递归的思想: 走1步则还剩余n-1个台阶, 走2步则还剩余n-2个台阶. 分别接着去求出n-1和n-2个台阶的走法. public int CountNumber(int n){ if(n<1) ...
- 为什么广东人修谱都用宣纸?纸质家谱不易保存?三步成就传世家谱
谱牒学研究的是一家一姓的历史,在中国古代社会里,修家谱是族人非常重要的一件事情,修家谱具有慎终追远.饮水思源.光前裕后.敦宗穆族的作用.家谱,记载了每一个姓氏的家族历史. 考古已经发现了商朝时期的甲骨 ...
最新文章
- java h5在线音频_[语音技术]java+H5的录音类实例(1)
- NYOJ 905 卡片游戏
- 性能媲美BERT却只有其1/10参数量? | 近期最火模型ELECTRA解析
- WebService开发
- Java Integer类shortValue()方法与示例
- 八爪鱼,国内领先的爬虫云采集工具平台,为许多大型公司,政府,提供数据服务
- python怎么显示提示_Python中如何显示程序进度
- 连线Face++前方团队:COCO夺冠背后的细节,不是拼硬件这么简单
- Dapper学习 - Dapper.Rainbow(三) - Read
- 如何保持格式拆分工作表?
- WPS中分节插入页码
- laydate限定某天不可选
- 如何设置IE为默认浏览器?如何设置谷歌chrome为默认浏览器?
- 使用maven为web工程引入jstl包时报错
- java繁体转简体包,java繁体转简体
- php框架 f,ShuipFCMS: ShuipFCMS是一款基于ThinkPHP框架开发的内容管理系统!
- 微生物组-宏基因组分析专题研讨会(2022.8)
- Linux实战技巧--文件系统操作(三)--复制和移动文件或者目录(cp/mv)
- 电商服务器性能测试,如何测试分析电商网站的性能瓶颈(一)
- elasticsearch -- win10 elasticsearch.bat闪退