作者LPH66 (圬琐)
看板puzzle
标题Re: [问题] 快问快答:休假的日子!!!
时间Mon Feb 18 00:09:29 2013
※ 引述《pikacha (小亿)》之铭言:
: 第一题:某岛国国王明定星期三,星期六和星期天为休假日
: 另外他也明文规定1月1日,5月5日(他的生日)和10月10日(巧合的国庆日?!)
: 也要休假.
: 如果这三天是在星期三,六,日则不补假
: 如果这三天不在星期三,六,日则有下列补假规定:
: 当它们在该周的星期一或二,则该周的星期二或一也放假!
: 当它们在该周的星期四或五,则该周的星期五或四也放假!
: (简言之,就是连放五天假)
: 请问一年(1月1日至12月31日)最多放几天假?
: 又加上农厝新年(除夕到初五)最多放几天假?
防雷页
先来看国定假日和补假的日数
由 Doomsday rule
http://en.wikipedia.org/wiki/Doomsday_rule
5/9 跟 10/10 星期相同
平年则又跟 1/3 星期相同 (闰年则是 1/4)
因此 5/5 会是 10/10 的星期数减四
1/1 则是 10/10 的星期数减二 (平年, 闰年减三)
另外得注意 1/1 若落在星期二或五 则补假补的是前一年的 12/31
这样来讨论的话 可以列成这样的表:
(打 * 表示补假在前一年, "隔1/1" 表示隔年的 1/1
"国定"一栏列出不在星期三、六、日的国定假日个数)
(平年)
1/1 五* 六 日 一 二* 三 四
5/5 三 四 五 六 日 一 二
10/10 日 一 二 三 四 五 六
隔1/1 六 日 一 二* 三 四 五*
国定 1 2 2 1 2 2 2
补假 0 2 2 2 1 2 3
(闰年)
1/1 四 五* 六 日 一 二* 三
5/5 三 四 五 六 日 一 二
10/10 日 一 二 三 四 五 六
隔1/1 六 日 一 二* 三 四 五*
国定 1 3 2 0 2 3 1
补假 1 2 2 1 2 2 2
再来算三、六、日的总放假日数
容易得知平年的话 1/1 那个星期会多一天
闰年的话 1/1 跟 1/2 的星期都会多一天
於是可算得如下: (52 星期至少有 52*3 = 156 天假, 再加上最後一至两天有没有假)
1/1 日 一 二 三 四 五 六
平年 157 156 156 157 156 156 157
闰年 157 156 157 157 156 157 158
加总放假天数 以周休三日的天数开始 加上国定假日天数再加补假天数
可得全部放假天数为
1/1 日 一 二 三 四 五 六
平年 161 159 159 161 161 157 161
闰年 158 160 162 160 158 162 162
因此放最多天的年份是开始在星期二、五或六的闰年 共放 162 天
再加上农历新年的话
六天连假至少会盖到两个放假日
(因为任何连续七天至少会放三天假)
因此最多就是在上面的状况上再多四天假 共放 166 天
--
题外话 来简单讲解一下上面引的那篇维基百科页面讲的东西
这个 Doomsday rule 其实是个心算西元某年某月某日星期几的速算法
它是在每个月挑一个好记的日子出来 使得这些日子的星期相同
这样那个月的其他日子就可以简单往前後推即可
所挑选的日子是
四月以後的双数月: 4/4, 6/6, 8/8, 10/10, 12/12
四月以後的单数月: 5/9, 9/5, 7/11, 11/7 (口诀: 我在 7-11 朝九晚五)
三月: 3/0 (也就是二月的最後一天); 或可选择π日 3/14 或(接近)春分 3/21
二月: 2/28(29) (总之就是最後一天)
一月: 1/3 (平年), 1/4 (闰年) (口诀: 四年中有三年在三号,第四年在四号)
或可选择 1/10 (平年, 110), 1/11 (闰年, 111)
至於是星期几 如果是当年则可以从当天星期几推回去
如果是其他年的话则有几个方法可以算
个人觉得最简单的是这个「奇数+11规则」:
1. 取年份後两位
2. 如果它是奇数则加 11,偶数则不做事
3. 除以 2
4. 如果除完是奇数再加 11, 偶数一样不做事
5. 除以 7 求余数, 再拿 7 去减
6. 由世纪定位点 (二十一世纪是星期二) 往後推那麽多天即可
以今年 2013 为例
1. 2013→13
2. 13+11=24 (奇数加11)
3. 24/2=12
4. 12 (偶数不做事)
5. 12/7=1...5, 7-5=2
6. 2+2=4→2013 年的定位点在星期四, 以这个月(二月)为例就是 2/28 在星期四
在原 PO 这个题目里面
Doomsday rule 提供了一个简单计算跨月份不同日子的星期相关法则
所以我就直接引用了
--
1985/01/12 三嶋鸣海 1989/02/22 优希堂悟 1990/02/22 冬川こころ 1993/07/05 小町
つぐみ 欢迎来到 1994/05/21 高江ミュウ 1997/03/24 守野いづみ 1997/03/24 伊野瀬
チサト 1998/06/18 守野くるみ 打越钢太郎的 1999/10/19 楠田ゆに 2000/02/15 樋口遥
2002/12/17 八神ココ 2011/01/11 HAL18於朱仓岳坠机 ∞与∫的世界 2011/04/02 茜崎空
启动 2012/05/21 第貮日蚀计画预定 2017/05/01~07 LeMU崩坏 2019/04/01~07 某大学合宿
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.118.118.238
※ 编辑: LPH66 来自: 122.118.118.238 (02/18 00:17)
1F:推 pikacha:认真魔人!我也只是单纯的猜164而已~ 02/18 12:13
2F:推 tp:是不是少算了1/1、5/5、10/10这三天本身的假期 02/18 17:04
3F:→ LPH66:咦对耶 所以应该是普通假+补假数x2 我改一下 02/18 19:30
※ 编辑: LPH66 来自: 122.118.118.238 (02/18 19:31)
4F:推 tp:我算1/1是星期二、五的闰年也都是162天 02/19 00:25
5F:→ LPH66:啊, 我知道这次的问题在哪里了 (眼神死) 再来改 02/19 01:36
※ 编辑: LPH66 来自: 122.118.118.238 (02/19 01:42)