作业帮 > 综合 > 作业

请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间!

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 12:32:10
请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间!
还有一个有50层楼梯,你可以一步走一个,也可以一步走两个,请问有多少种走法!给出你的思路算法和代码!都是C的!
题目一:
房间数,我会用这个式子来表示:( M+ (N-1) ) /N.
这个就相当于 M/N取了上整,而且将M能整除N的情况也包含在里面了.
题目二:
使用递推公式:
如果只有一层楼梯,我们显然有1中走法;
如果有两层楼梯,我们有两种走法,也就是1+1和2;
如果有三层楼梯,我们有三种走法,1+1+1和1+2和2+1;
其实在这里,我们就得出了递推公式的结论,也就是有N层的走法等于N-2和N-1的和.
用通俗一点的话来说就是,如果我想走到第三层楼梯,那要不就是从3-1步跨一步上来的,要不就是从3-2步跨两步上来的,所以这个结论就是f(n) = f(n-2) + f(n-1);
再总结一下就是经典的斐波拉切数列(小变形).
1,2,3,5,8,.
至于第50层的就可以去算了.
代码,我觉得楼主还是自己尝试写一下的比较好.这个可以练手一下.
再问: ( M+ (N-1) ) /N 这个式子可以帮忙解释下吗?谢了!
再答: 额,具体的其实有点忘记了。这个是利用了int取下整的特性,这个好像是原来程序设计的老师讲过的,当时我也觉得挺神奇的。 因为有两种极端情况,一种就是整除,一种就是整除完了多一个。 1.在整除的情况下,我只要加一个不大于N的数K都可以保证(M+K)/N == M/K 所以,这个只要加了就保证了整除的正确性; 2.在整除完了多一个的情况下,我只能给M加上一个N-1才能保证能~满足(M+K)/N == M/K 所以综上所述,我用了( M+ (N-1) ) /N这个式子。这样就能解决楼主你所要求的。
请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间! 如果每个房间住3个人,则多10人,如果每个房间住4人,则有一个房间不足,问这次有多少个房间,多少人 学校分配学生宿舍,如果每个房间有20个人没有床位;如果每个房间住8人,则正好注满.学生宿舍有多少个房间 20个人分到3个不同的房间,每个房间至少一个人,问有多少种分法? 夏令营老师为小营员安排住宿如果每个房间住四人则多出24个人如果每个房间住六人则有两个房间空气共有多少个房间多少个夏令营小 夏令营老师为小营员安排住宿.如果每个房间住四人则多出24个人;如果的房间住六人则有两个房间空着.有多少个房间?多少个夏令 7个房间 每个房间不少于2个人,任意四个房间的人数不少于10人,这七个房间至少有多少人 房间里有四个角,每个角有一只猫,每只猫前面有四只猫,请问房间里一共有多少只猫? 4个有理数3,4,-6 ,10 进行混合运算(每个数用且只能用一次),结果等于24,请写出三种不同的算式. 夏令营老师为小营员安排住宿.如果每个房间住4人,则多出24个人;如果每个房间住6人,则有2个房间空着. 夏令营老师为小营员安排住宿,如果每个房间住4人,则多出24个人;如果每个房间住6人,则有2个房间空着. 某旅行团共34人,正好住宿在14个房间里,每个大房间住3人,每个小房间住2人.大房间有多少个?