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)
如对本文有什么疑问,请在下面写下留言,谢谢!
查看全文
相关阅读:
随笔一篇
WPF SDK研究 Intro(2) QuickStart2
WPF SDK研究 Intro(1) QuickStart1
两道MS的面试题 及答案
关于父子类方法的继承
WCF笔记 1.WCF基础
Vista下建立WCF遇到的问题及解决方案
WPF SDK研究 目录
WPF SDK研究 Printing (1) PrintDialog
WPF SDK研究 Printing (2) EnumerateSubsetOfPrintQueues
原文地址:https://www.cnblogs.com/zxsoft/p/1029382.html
最新文章
Teaching elementary mathematics don't skip stages
How can I debug my servlet
从年轻大学教师待遇说到大学教学质量
VisualAge for Java开发Servlets
Avg Group By 按班级统计平均分
Help with SSH terminal behavior.
用table居中的代码
Introduction to Java Exception Handling
北京六智信息技术有限公司 文章自动聚类 文章自动关联 高精度全文搜索
一些与 mpiexec 相似的 命令 mpdcleanup
热门文章
提高PHP编程效率的53个要点(转)
Yii url重写
ps混合图层的各个模式的作用
NSArray排序
php面试知识
MAC YII 安装步骤
开源的电子书阅读器
yii widget使用
HTTP抓包分析工具 wireshark
php中三个等于号
Copyright © 2011-2022 走看看