zoukankan
html css js c++ java
上L层楼梯有几种上法?
某楼梯有L层台阶,上楼梯可以一次迈一层,也可以一次迈两层。那么走完这L层台阶共有几种走法?
用递归的思路分析:
1.如果只有一层楼梯,那么自然只有一种走法。
2.如果有两层楼梯,那么有两种走法。(一种是一次迈一层,另一种是一次把两层全迈上去)
3.如果有L层楼梯,那么,先走一层,剩下的层数的走法数。加上先走两次,剩下的层数的走法数的和。就是L层的总共走法。
于是假设存在某函数f(x),参数x表示层数,返回值是走x层的总共走法数。那么可以知道:
f(1)=1; ①
f(2)=2; ②
f(x)=f(x-1)+f(x-2); ③
综合1,2,3。递归函数就可以写出来了。
C#实现:
static
void
Main(
string
[] args)
{
int
l
=
0
;
while
(
true
)
{
Console.Write(
"
L=
"
);
string
str
=
Console.ReadLine();
l
=
int
.Parse(str);
if
(l
==
0
)
break
;
Console.WriteLine(CalcStairs(l));
}
}
static
int
CalcStairs(
int
L)
{
if
(L
==
1
)
return
1
;
if
(L
==
2
)
return
2
;
return
CalcStairs(L
-
1
)
+
CalcStairs(L
-
2
);
}
张旋(zxsoft)
如对本文有什么疑问,请在下面写下留言,谢谢!
查看全文
相关阅读:
MongoDB分片集群还原
集群因子(Clustering Factor)
Sunisoft.IrisSkin.SkinEngine 设置winform皮肤
17monipdb根据IP获得区域
ArraySegmentSample
RichTextBox指定全部文字显示不同颜色及部分文字高亮颜色显示
Git 基本分支规范
C# 获取方法内参数名称
(转)C#中的Predicate<T>与Func<T, bool>
EF 多线程TransactionScope事务异常"事务EFTransaction类定义:与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。"
原文地址:https://www.cnblogs.com/zxsoft/p/1029382.html
最新文章
七款Debug工具推荐:iOS开发必备的调试利器
由于一个老熟人对架构的一句话而拉黑了他。
【31】将文件间的编译依存关系降至最低
【30】透彻了解inlining 的里里外外
【29】为“异常安全”而努力是值得的
【26】尽可能延后变量定义式的出现时间
【39】明智而审慎第使用private继承
【47】请使用traits classes表现类型信息
【19】设计class犹如设计type
【18】让接口容易被正确使用,不易被误用
热门文章
【12】赋值对象时勿忘其每一个成分
【11】在operator=中处理“自我赋值”
Oracle EBS R12 电子技术参考手册
MySQL(Unix时间戳、日期)转换函数
MySQL-profiling的使用
mysql explain 命令讲解
mysql explain输出中type的取值说明
让show parameter显示隐含参数(12C)
让show parameter显示隐含参数(11G)
人为删除控制文件故障模拟
Copyright © 2011-2022 走看看