回 帖 发 新 帖 刷新版面

主题:qb45,moz,救命啊!

5、有楼梯共30级,上楼时一次可跨X级或Y级(1≤X<Y),问:共有多少
种上楼方法?例如:当楼梯只有4级,X=1,Y=2时,共有5种上楼方法:1111,112,121,211,22      

N=30:DIM D(N)
DO 
INPUT “X,Y=”;X,Y
LOOP UNTIL X>=1 AND [X<Y]
FOR I=0 TO Y-1
IF I MOD X=[0] THEN D(I)= [D(I)+1]
NEXT I
FOR I=Y TO N
D(I)=[D(I-1)+D(I-2)]
NEXT I
PRINT [D(N)]
END
(注:打中括号为填空)
qb45,moz帮我看一下填的对不对?顺便解释一下。错的帮我改一下。谢谢!!

回复列表 (共7个回复)

沙发

1.没看到这一贴,今天居然在首页看到了。
2.这个问题不知道能不能解释一下:
  发表时间:2008-6-9 14:41:00    最后修改于2008-4-11 20:34:00
3.这些题目需要一个思考过程,抱歉的是我已经失去这种能力了。

板凳

OH。。MY GOD 
我终于见到了爱因斯坦相对论的证实。

3 楼

我也不知道,也许弄反了吧?

4 楼


我试了一下N\x\y分别是6\2\5,应该是222,25,225,5四种走法,可用上面的程序却只有2种。

希望哪位大侠能有这类问题的算法描述,而不是程序段。

5 楼

这是一个排列组合的问题,
如果问题仅仅是求数量的,
我觉得可以很好的省略一下计算过程,
按照排列组合的计算公式进行计算的。

我只说说遍历的方法吧:

1.总量可以有几种组合方法?
   N = X * a + Y * b 
   a 的值域为 [0,N \ X]
   b 的值域为 [0,N \ Y]
  先计算给几个X加几个Y,这就是组合问题。

2.利用上面组合出来的集合,进行所有可能出现的排列。计算排列数。

3.(1)*(2)就是结果。

6 楼

sfgvdv

7 楼

也许是吧!同意
[em11][em11][em11]

我来回复

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