请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间!还有一个有50层楼梯,你可以一步走一个,也可以一步走两个,请问有多少种走法!给出你的思路

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/14 15:32:08
请用一行代码写出结果不能用IF和三目运算符现在有M个人,每个房间住N个,请问一共需要多少房间!还有一个有50层楼梯,你可以一步走一个,也可以一步走两个,请问有多少种走法!给出你的思路请用一行代码写出结

请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间!还有一个有50层楼梯,你可以一步走一个,也可以一步走两个,请问有多少种走法!给出你的思路
请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间!
还有一个有50层楼梯,你可以一步走一个,也可以一步走两个,请问有多少种走法!给出你的思路算法和代码!都是C的!

请用一行代码写出结果 不能用IF和三目运算符 现在有M个人,每个房间住N个,请问一共需要多少房间!还有一个有50层楼梯,你可以一步走一个,也可以一步走两个,请问有多少种走法!给出你的思路
题目一:
房间数,我会用这个式子来表示:( 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层的就可以去算了.
代码,我觉得楼主还是自己尝试写一下的比较好.这个可以练手一下.