我希望能够从一年开始,并计算13日星期五的事件.蛮力解决方案简单明了.我有一些稍好的东西,但我毫不怀疑其他人可以为此提出一个优雅的算法.
也许有点棘手,我有兴趣给这个项目一个月,然后让它找到那个月的第三年星期五.
随意使用伪代码,但我希望人们会用你喜欢的语言投票更多地使用代码示例.
由于您的强力算法显然是直观的逐日迭代选项,您可能还没有考虑过世界末日算法.这将允许您简单地检查第13个星期五是否是星期五.据我所知,这是解决问题的最有效方法.
任何以星期日开始的月份都会在十三号星期五举行.只有14种组合可能知道今年的第一天是哪一天(有或没有闰年,太阳坐).你应该只计算一次并完成它.你只需要检查14*12个可能的月份开始,理由是这样.
结果表元素(自2009年,2010年):
[Thursday,false] => Feb, March, Nov [Friday,false] => Aug
填写表格你有一个月的通用月份(31),2月(28)..然后用一周的每一天的种子迭代,注意从星期日开始的月份,以及闰年和没有.很直接,一旦完成,你可以与我们分享:)