回 帖 发 新 帖 刷新版面

主题:阶问

有一个台阶共20级,标为0至20号,现从0级开始往上走,每次只能走一级或二级台阶,请用程序打印出所有从0从级走至20级的情况.(有解析为最佳

回复列表 (共11个回复)

沙发

我好像听老师讲过使用递归
但具体怎样就忘记了

板凳

那到底该怎么做............

3 楼

以前我贴过一道题是问爬上第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 楼

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 楼

很好......
但应该怎样把情况通过连加形式打印出???

6 楼

...

7 楼

*************************************************

8 楼

可以用递归

9 楼

把I分为1 TO 2

10 楼

可用递归来做.

我来回复

您尚未登录,请登录后再回复。点此登录或注册