| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1397 人关注过本帖
标题:兔子上楼梯问题!!!请高手指教__?
只看楼主 加入收藏
北雪の月弦
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
快速回复:兔子上楼梯问题!!!请高手指教__?
数据加载中...
 
   



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

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