求某一特定年有多少个周六周日

2017-10-07 13:52:17 +08:00
 jedihy
考虑闰年
4636 次点击
所在节点    算法
10 条回复
gam2046
2017-10-07 14:14:33 +08:00
不用求,是固定的。闰年的前一年是 53 个之后三年都是 52 个,如此往复。


2000 年是闰年,则 1999 年有 53 个,2000-2002 年都是 52 个;
2003 年有 53 个,2004-2006 年有 52 个。
est
2017-10-07 14:19:17 +08:00
import v2ex

v2ex.search('特定年有多少个周末')
pla
2017-10-07 14:19:28 +08:00
Python datetime 模块可以直接算指定日期是周几,其他语言应该也有类似的。
用现成的就不涉及具体算法,跑题了
Chrisplus
2017-10-07 15:18:12 +08:00
幸运 52,闰年多一次幸运
CEBBCAT
2017-10-07 16:56:50 +08:00
知到某一年一月一号是周几和这一年有多少天就够了,

可以把,这一年所有日子排成一排,周几是循环出现的
jedihy
2017-10-07 22:54:03 +08:00
@gam2046 52 周不代表周六日
gam2046
2017-10-07 23:03:39 +08:00
@jedihy 请自行验证,举出反例。我是用程序跑了一遍,验证结果后,才说的。
jedihy
2017-10-08 00:32:11 +08:00
@gam2046 2000 年有 53 个周六,53 个周日
jedihy
2017-10-08 00:33:37 +08:00
@Chrisplus 不对,今年你都错了,今年有 53 个周日
gam2046
2017-10-08 10:16:23 +08:00
@jedihy 感谢,确实是我错了。检查了下之前写的程序,时间递增加错了。

重新写了一遍,观察一下,以 2000 年作为原点来看,2000 年周六与周日各有 53 个。
之后先隔 4 年,第五年( 2005 )有 53 个周六,再隔 5 年,第六年( 2011 )有 53 个周六,如此往复;
周日则先隔 5 年,第六年( 2006 )有 53 个周日,再隔 4 年,第五年( 2012 )有 53 个周日,如此往复;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/395771

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX