标题:兔子上楼梯问题!!!请高手指教__?
只看楼主
北雪の月弦
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-10-17
 问题点数:0 回复次数:4 
兔子上楼梯问题!!!请高手指教__?

一共有 m 个楼梯,小兔子每次最多上 n 个楼梯,请问一共有多少种上法?

例如:m=5,n=2时,一共有8种;

m=4 ,n=2时,一共有5种.

我写的程序:

#include <iostream.h> double long a[41][11]; void main(){ long stair,step; long i,j,k; for(i=0;i<41;i++) for(j=0;j<11;j++) a[i][j]=0; for(i=1;i<11;i++){ a[0][i]=1; a[1][i]=1; } for(i=1;i<41;i++) a[i][1]=1; for(i=2;i<41;i++) for(j=2;j<11;j++) for(k=1;k<j+1;k++) a[i][j]=a[i][j]+a[i-k][j]; cout.setf(ios::fixed); cout.precision(0); while(cin>>stair>>step){ if(stair<1||step<1||stair>40||step>10) break; cout<<a[stair][step]<<endl; }}

请高手看看,我自己都没问题,但向判断系统提交时,就错了!

搜索更多相关主题的帖子: 楼梯 兔子 long 指教 
2004-11-03 17:20
风中涟漪
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2004-8-9
得分:0 
double long 可以这样定义格式吗?

2004-11-05 17:09
skydrag
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-11-3
得分:0 
可以的
2004-11-09 14:55
三少爷
Rank: 1
等 级:新手上路
帖 子:192
专家分:0
注 册:2004-4-29
得分:0 

这题还可以用递归做,个人比较倾向于这种。 可设函数 y=P(x) x表示台阶数,y表示上法。 则有递归体:P(m)=P(m-n)+P(m-n+1)+...+P(m-1) 递归出口:P(1)=1,P(2)=2 (if n>=2)

#include <iostream.h> int m,n;

int P(int x) { int y=0; if(x==1) return 1; else if(x==2) return 2; else { for(int i=1;i<=n;i++) y+=P(x-i); return y; } }

int main() { int y; cout<<"Pls input m & n"<<endl; cin>>m>>n; y=P(m); cout<<y<<endl; return 0; }

[此贴子已经被作者于2004-11-10 13:22:26编辑过]


2004-11-10 05:35
骇客
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-9
得分:0 
编译可以通过啊
2004-11-10 12:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-7051-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.577168 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved