3
共享生日聚会
办公室(我们称其为“办公室”)将通过合并办公室生日聚会来减少2019年的浪费时间。在同一周的星期一至星期五(含)之间生日的任何两个人,将在该周的某个时间举行“ 共享生日派对”来庆祝。生日在周六或周日的人们根本不会参加任何聚会。 有些人不喜欢与未共享实际生日的人共享生日聚会。他们会很生气有一个共享的生日派对。 我们将模拟一个办公室,并寻找某人对共同生日聚会感到非常生气的第一周。 挑战 编写一个程序或函数,以输出2019年的第一个ISO周编号,其中模拟办公室中的某人对其共享生日聚会非常生气,但要遵循以下基本规则: 输入整数N > 1,即办公室中的工人人数。 所述Ñ生日本身是均匀分布的随机从1月1日至12月31日(忽略年02月29)。 但是用于确定共享生日聚会的工作周是2019 ISO周日期,其介于2019-W01-1(2018-12-31)和2019-W52-7(2019-12-29)之间。新的ISO周每个星期一开始。(我认为这是您应对此挑战的ISO周真正需要的全部内容)。 对于办公室中的N个人,每个人都有1/3的机会拥有“ 非常生气的 共享生日聚会”个性类型,因此您也必须进行模拟。 但如果与同一个生日的人共享聚会,他们不会生气。 输出第一次出现“ 非常生气”的人的ISO周号(精确的格式,只要周号清晰即可)。如果没有生气的人,您可以输出与ISO周无关的任何内容,否则程序可能会出错等。 一些简化的假设: 正如我提到的,完全忽略2月29日的问题(不必要的并发症) 忽略公共假期(这是一个国际社会,因此我们的假期会有所不同),只是假设办公室在每个工作日都开放。 规则 这是代码高尔夫球。每种语言的最短答案(以字节为单位)获胜。禁止默认漏洞。 欢迎使用代码说明。 工作实例 输入N = 7的人为设计的示例1。第一和第二列是规则中所述的随机变量(当然,此处实际上并不是随机变量)。 Angry Type Person? Birthday ISO Week Comment ================================================================================ N 2018-12-31 W01 In the 2019 ISO week date year Y 2018-12-31 W01 Same …