黑马程序员技术交流社区

标题: 思考题 [打印本页]

作者: sun~~    时间: 2013-1-20 09:32
标题: 思考题
1、某培训机构中要为新到的学员安排房间,假设共有x个学员,每个房间可以住6个人,让你用一个公式来计算它们要住的房间数(男女不能分在一块 这种情况我们就不考虑了)。
    给的答案是(x+5)/6  
    谁能解释一下 5 代表的含义??
  (x+5)的含义??
作者: 黑马王振宇    时间: 2013-1-20 09:39
本帖最后由 黑马王振宇 于 2013-1-20 09:59 编辑

这里应该涉及到int型运算吧,你要是来1个人,不加5的话,那么int类型运算完结果是0,那就是不分配房间,结果和实际不符,
要是来6个人正好1间房,对于房间整数int类型对象来说(6+5)/6=1,也就是正好分配一间房。所以要加5

作者: 陈丽莉    时间: 2013-1-20 09:53
int型做除法时,不整除的时候,无论余数有多大,都是只保留商的。比如5/6结果仍然为0;
而这道题中,只要余数大于0,就要多分配一个房间,也就是说,余数为1-5时,要让他们除以6后的商多1.
这样考虑的话,就只有+5了。若是+6,则整除的时候会多分配一个房间。
(因此楼上说的x/6+1还是有待完善的)
作者: 李敬卫    时间: 2013-1-20 10:42
对于这个题,首先要想明白一点,方间数是怎么定的?其实房间数也就是6的整数倍数。怎么让房间数是6的倍数呢?不难想到,只能(x 5)/6,其目的就是,首先x的类型只能是正整数型,如果x大于0并且小于等于6的时候,就保证了结果是6的倍数,就为其开启一个房间。依次往下…
作者: sun~~    时间: 2013-1-20 11:50
谢谢 大家 !!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2