中易网

c语言上楼梯问题

答案:2  悬赏:20  
解决时间 2021-03-08 01:31
c语言上楼梯问题
最佳答案
我暂时保留我的看法!
全部回答
例如:将军住在5楼,将军能上或者下5次楼,现在在1楼, 那么将军将回不到寝室啦,为什么?我也不知道。>>
因为他必须上下楼梯5次, 但是他上楼4次就可以到5楼了,还1次要么下楼要么上楼,所以不可到5楼.
#include <stdio.h>
int m, n, k, count = 0;
void func(int sum, int level){
if(level == n ) {
if(k + sum == m)count ++;
return ;
}
if(k + sum - 1 > 0){
func(sum - 1, level + 1);
}
if(k + sum + 1 < 101){
func(sum + 1, level + 1);
}
}
int sum(int m, int n, int k){
int dv = m - k,;
if(dv < 0){
dv = dv * -1;
}
if(dv > n) return 0;
if(dv == 0) dv = 1;
if((n % dv % 2) == 1) return 0;
func(0, 0);
return count;
}
int main(){
while(scanf("%d %d %d", &m, &n, &k) > 0){
printf("%d\n", sum(m, n, k));
count = 0;
}
return 1;
}
追问:对不起,您的答案也错了,
不过,能请您说一下您的思路吗
追答:假设M>K
N可能大於 M - K 所以 上楼过程中需要下楼才可能到M楼
我将上楼当作1下楼当作-1,比如这一组数据,M = 5 K = 1 N = 6,它可以上到5楼
其中一种上楼的方法是 [1, 1, 1, 1, 1, -1] 但是如果你在1楼的就只能上楼 所以这组数据有5种方法上楼
1. 首先判断能不能到M楼 N <=|M- K|就不说了。N > |M- K|多馀的上下楼次数中上楼次数应该等於下楼次数所以 N % |M - K|必须等於0
2.向前走一步,要么上要么下,但是在1楼不能下 在100楼不能上
3.上楼 重复2 下楼重复2 直到 level = N 即走完上下楼次数 此时判断是否在M楼
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
盐城月湖花城11号楼l003室业主是谁
耳机是不是越听越好,音质越细腻的?
王杰2001演唱会高清下载
文山华远贸易有限公司在哪里啊,我有事要去这
苹果手机总是连接恶意网站
C#开发的 WINDOWS窗体应用程序与WPF应用程序
求炫舞情侣名一对?两个字的
新破天一剑最新单机版+教程 最好一键安装的
我怎么不能从QQ上直接打开QQ空间啊
光辉饭摊这个地址在什么地方,我要处理点事
我买一台220-380。350A交流电焊机功率18KVA.
为什么吃冰着食物吃完过后觉得胃和腰疼
盐城什么地方能学托福或者雅思?要效果能好点
在广州花都区妇幼保健医院生小孩要多少钱?
御足轩休闲会馆地址在哪,我要去那里办事
推荐资讯
高中生可不可以跨省转到别的省读书?
额头高适合留中分吗?求解
三雄极光相对于雷士的优势
伊朗最高领袖可以结婚吗
水果罐头里的水果吃完后剩下的水能干嘛?(除
85版本,真野猪套还能穿的住吗?
有关鲈鱼的那首诗是什么呀?
《真爱网》忘记号码或密码怎样找到?
请问最新的国家桥梁规范中大中桥和特大桥是要
春天黄色衣服上喷什么味道的香水可以驱小飞虫
死因行为效力如何判断
龚家寨街在哪里啊,我有事要去这个地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?