主题:阶问
kuuga
[专家分:190] 发布于 2005-05-28 18:12:00
有一个台阶共20级,标为0至20号,现从0级开始往上走,每次只能走一级或二级台阶,请用程序打印出所有从0从级走至20级的情况.(有解析为最佳
回复列表 (共11个回复)
沙发
woohaha [专家分:120] 发布于 2005-05-28 23:57:00
我好像听老师讲过使用递归
但具体怎样就忘记了
板凳
kuuga [专家分:190] 发布于 2005-05-29 17:33:00
那到底该怎么做............
3 楼
jtchang [专家分:5370] 发布于 2005-05-30 10:12:00
以前我贴过一道题是问爬上第n格,存在多少种情况。但时间太久被删了。那题是利用斐波那契数列进行滚动计算。设对于第n级台阶存在f(n)种情况,则:
f(1) = 1 (n=1)
f(2) = 2 (n=2)
f(n) = f(n-1) + f(n-2) (n>2)
4 楼
woohaha [专家分:120] 发布于 2005-06-01 15:02:00
var i:integer;
function n(j:integer):integer;
begin
if j=1 then n:=1 else if j=2 then n:=2 else n:=n(j-1)+n(j-2);
end;
begin
readln(i);
writeln(n(i));
end.
5 楼
kuuga [专家分:190] 发布于 2005-06-02 19:21:00
很好......
但应该怎样把情况通过连加形式打印出???
6 楼
Tux [专家分:80] 发布于 2005-06-02 19:27:00
...
7 楼
hyhuangyu [专家分:0] 发布于 2005-06-07 20:48:00
*************************************************
8 楼
QQ331373582 [专家分:1500] 发布于 2005-10-15 10:37:00
可以用递归
9 楼
QQ331373582 [专家分:1500] 发布于 2005-10-15 10:37:00
把I分为1 TO 2
10 楼
纷飞的雪 [专家分:10] 发布于 2005-10-15 19:44:00
可用递归来做.
我来回复