办公室中打水故事

简介: 交代下故事背景,办公室中有个电热水壶,办公室内的人员公用。其中还有个潜规则,就是若谁在接水是发现电热水壶中没有水(就是自己的杯子没有接满),他/她就负责给电热水壶注满水。 故事是,一段时间,本人喝水不多,但连续多次去接水喝,都是没有接满杯子就没水了。本人开始吐槽自己的运气和人品,但小师弟就说这事因为我的杯子原因。为此,我们争论了好几次。个人语言表达能力有限,知道这是个常识性问题,还是未能

交代下故事背景,办公室中有个电热水壶,办公室内的人员公用。其中还有个潜规则,就是若谁在接水是发现电热水壶中没有水(就是自己的杯子没有接满),他/她就负责给电热水壶注满水。

故事是,一段时间,本人喝水不多,但连续多次去接水喝,都是没有接满杯子就没水了。本人开始吐槽自己的运气和人品,但小师弟就说这事因为我的杯子原因。为此,我们争论了好几次。个人语言表达能力有限,知道这是个常识性问题,还是未能说服他。


昨夜在床上看书,突发奇想,用事实说服吧。既然是学计算机的,那就把情况模拟一下好了。


算法:

初始化人员各种参数(杯子大小,打水概率)

产生打水序列

依据水壶大小,进行切割(就是确定打水人员)

对切割结果进行统计

打印

java实现如下

public class Test {
	
	private int[] container;
	private int length;
	private int members[] = {3,4,5,6};
	private static int sum[] = new int[4];
	
	public Test(int c, int l){
		container = new int[c];
		length = l;
	}


	public static void main(String[] args){
		Test t = new Test(10000000, 60);
		t.init();
		t.statistics();
		t.print();
	}
	
	private void print() {
		for(int s: sum){
			System.out.println(s);
		}
	}

	private void statistics() {
		for(int index=0; index*length < container.length; index++){
			sum[container[index*length]]++;
		}
	}


	public void init(){
		int index = 0;
		while(index < container.length){
			int member = getMember();
			int size = members[member];
			if(index + size < container.length){
				for(int i=0; i < size; i++){
					container[index + i] = member;
				}
				index += size;
			}else{
				for(; index < container.length; index++){
					container[index] = member;
				}
			}
		}
	}

	private int getMember() {
		int x = new Double(57*Math.random()).intValue();
		if(x < 20){
			return 0;
		} else if( x < 35){
			return 1;
		}else if( x < 47){
			return 2;
		}else{
			return 3;
		}
	}
}

其中原始设置如下:

四个人,杯子大小一次容量为3,4,5,6


java类可以直接调节电热水壶的容量,和实验次数


其中,如果试验次数较少,会影响结果


最后给出上述代码运行一次的结果:

41590
41842
41553
41682

(注意:由于其中运用了随机函数,两次的运行结果一般不会一样,但大的差距不会很大。哦,很大概率上,你可以近似理解为永不)


含义为:

杯子容量为3的人给壶注入水的次数为:41590

杯子容量为4的人给壶注入水的次数为:41842

杯子容量为5的人给壶注入水的次数为:41553

杯子容量为6的人给壶注入水的次数为:41682


上述结果我们可以说明,给壶接水的次数或则概率与接水人杯子的大小无关

相关文章
|
程序员 Windows
产品设计——你的老师每天都坐在你面前
产品设计——你的老师每天都坐在你面前
83 0
|
传感器 机器人 测试技术
当办公室里的机器人隔板突然围住你,网友:社恐福音!
当办公室里的机器人隔板突然围住你,网友:社恐福音!
153 0
当办公室里的机器人隔板突然围住你,网友:社恐福音!
|
缓存 算法 网络协议
二本学生小公司实习遭领导歧视,于是逆袭进百度!
二本学生小公司实习遭领导歧视,于是逆袭进百度!
二本学生小公司实习遭领导歧视,于是逆袭进百度!
|
安全
一篇最美的离职故事
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。 非常意外,在一堆文章中发现了这篇,感觉10年前的文档,现在读来也是蛮有启发的。离职故事原文不在赘述(信息安全不变透露),把当时自己的思考记录下啊。
189 0
这个阿里小二,据说全世界姑娘都羡慕她的工作
大家好,我是好奇橙。我的老板说,好奇心是人类进步的动力。所以……我决定每天进步一点点。阿里是个有趣的地方,有一群神奇的小伙伴,他们的工作奇奇怪怪、五花八门……作为一只好奇的橙子,他们都应该成为我的好朋友。今天就给大家介绍一个小姐姐,她的工作让所有姑娘们都羡慕。
364 0
这个阿里小二,据说全世界姑娘都羡慕她的工作
|
安全 开发者
最酷的黑客马拉松地点?30000英尺的高空
说到黑客马拉松,你很容易想起这些:拿着不放的手机,随处开着放在桌上的笔记本,当然还有互联网连接。但是英国航空公司”不接地创新实验室“中的开发者可没有这些东西,他们在空中进行了11个小时的黑客马拉松。
190 0
最酷的黑客马拉松地点?30000英尺的高空
|
安全 架构师 Java
两个天才黑客:一人在牢狱之灾后退隐江湖,一人蜕变成阿里巴巴“守护神”!
     黑  客   “黑客”这个词, 在许多人印象里虽然不够光彩正派, 但却酷劲十足。 他们在我们的常规认知里,他们, 是一群隐身于网络的计算机大神, 是始终笼罩着一层神秘面纱的人间怪杰。
1759 0
聆听老人的故事--技术+公益
关爱身边的老人,一起聆听和提交动人的故事;加入爱心极客,用技术做公益,让故事被保存、被知晓、被分享。 查看详情(https://greencode.aliyun.com/story)加入我们(https://greencode.aliyun.com/story) 祖父辈的老人,他们在有别于我们的时代成长,带着那个时代深深的烙印,一路走过来;有的时候,他们沉浸在过去的记忆中,絮絮叨叨,诉说当年。
2199 0