首页 > 代码库 > 100个台阶,一次走一步,走两步,走三步,有多少种可能
100个台阶,一次走一步,走两步,走三步,有多少种可能
分析
第一个台阶 1
第二个台阶 11 2 //走两次1步或者走1次两步
第三个台阶 111 12 21 3
第四个台阶 1111 112 121 211 22 13 31
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(); }
100个台阶,一次走一步,走两步,走三步,有多少种可能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。