我希望可以从一年开始,并计算13日星期五的发生次数。暴力解决方案很容易并且很明显。我有一些更好的东西,但是毫无疑问,其他人可以为此提出一个优雅的算法。
也许有点棘手,我想给该计划一个月的时间,让它找到下个月的那个月的下一个星期五,即13日。
可以随意使用伪代码,但是我希望人们会以您喜欢的语言为工作代码示例投票更多。
从星期日开始的任何月份的第13个星期五。只有14种组合可以知道一年的第一天(有或没有with年,以及周日)。您只需要计算一次就可以了。您只需要检查14 * 12个月就可以开始,这是有道理的。
结果表格元素(来自2009年,2010年):
[Thursday,false] => Feb, March, Nov [Friday,false] => Aug
要填充表,您需要一个通用月份Jan(31),Feb(28)..然后使用一周中每一天的种子进行迭代,注意从星期日开始的月份,也可以有with年,也可以没有without年。非常简单,一旦完成,您就可以与我们分享:)