咕咚萌西1042
2015-12-10 05:00
采纳率: 100%
浏览 2.3k

一道C++面试题,不知道怎么考虑

昨天去面试,有道题目不知道怎么考虑,哪位帮忙看下,指点一二?
一个超市有5个收银台,营业时间早8点晚8点,闲余时间是12:30-13:30,此时客人不用排队可以直接结账;繁忙时间16:30-19:00,此时每个收银台都是排满人的,假设买个队伍最多10人;求计算当天某个客人出现在2号收银台队伍里的第3个位置上的概率,写出过程和结果。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • JackWaiting 2015-12-10 05:16

    这个问题,2个条件,一个是时间,一个事收银台数。给你说下思路吧!
    我们先从时间来分析,营业时间一共是12个小时,因为闲余时间不用排队,和繁忙时间队排满,所以这2个阶段去肯定是不会在2号台第三位置的,
    这两个时间加起来为4.5个小时。(0.5代表半小时)。除去这种情况可能出现的概率是4.5/12
    在可能出现的时候来,又因为有5台,所有在收银台2的位置为5分之1,然后再第三个位置,又是10分之1
    结果就是 (4.5/12) * (5/1) * (10/1)
    思路都出来了,你在换算成程序还是很简单的~

    打赏 评论
  • JackWaiting 2015-12-10 05:17

    纠正一下,前面算的出现的时间概率应该是12-4.5.

    打赏 评论
  • jiawei0418 2015-12-10 05:38

    我数学不好 不过那个不可能时间算起来是3.5小时吧

    打赏 评论
  • 云霏阳 2015-12-10 05:46

    这个问题可以这么考虑:
    1.只有16:30-19:00之间才可能排队(从题目来看好像是这样),并且每个收银台都排满,这样只要此时去结账,必然会排队,一定会出现在某个收银台队伍的第三个位置;出现在2号收营台第三个位置的概率应该为1/5
    2.在其他时间结账,由于不需要排队,就不会出现在2号收营台第三的位置。
    3.这样最后的概率为(2.5/12) * (1/5) = 4.2%

    打赏 评论
  • tttons 2015-12-10 05:50

    还要减去16:30 的第1、2位置时间概率

    打赏 评论
  • yun1512032 2015-12-10 06:17

    1 -(出现在闲时的概率 +(1 - 出现在繁忙时,第二收银台、第3位置概率)+ ( 1 - 出现在平时,第二收银台、第3位置的概率) )

    1.闲时:1/12
    2.繁忙:(2.5/12)*1/5*1/10
    3.平时:(8.5/12)*1/5*1/10

    打赏 评论
  • 云霏阳 2015-12-10 06:21

    这里有一个地方容易犯错误,只要排队,随着前面的人结完账了,你排队的位置就会往前走,这样迟早会到达第三的位置。

    打赏 评论
  • bjtu_huaA 2015-12-10 06:37

    12:30-13:30 结账 队伍0人 这时不可能出现在队伍第3人 概率为0
    16:30-19:00 结账队伍10人 这时必然会出现在队伍第三人上 概率为1
    其余时间队伍1-9人 这时队伍大于或等于3人的概率为 7/9 概率为1 * (7/9)
    他出现在2号台的概率为1/5

    因此概率为:(1/12 * 0 + 2.5/12 * 1 + 8.5/12 * 7/9) * 1/5

    打赏 评论
  • 云霏阳 2015-12-10 06:58

    如果认为在其余时间也可能会排队的话(原来题目中没有明确说明),那么只要顾客头脑正常,他会选择人最少的收营台去结账,也就是说,只有所有收营台目前排队的人数都大于等于2时,顾客才有可能出现在某个收营台第3的位置。

    打赏 评论
  • 云霏阳 2015-12-10 07:35

    考虑是对的,但是最后的答案弹性就大了,我估计面试官就是想考察你分析问题的全面性。

    打赏 评论

相关推荐 更多相似问题