我是 Javascript 新手,一直在尝试找出闰年计算器的最佳方程式。我写了这样的解决方案:if ((year % 4 ===0 && year % 100 !==0) || (year % 4 ===0 && year % 100 ===0 && year % 400 ===0)) { alert("Leap");} else { alert("Not Leap");}完成后,我用谷歌搜索了其他方法,发现可以这样写:if ((year % 4 === 0 && year % 100 !== 0) || (year % 400 ===0)) { alert("Leap");} else { alert("Not Leap");}但我不明白怎么可以这样写,因为知道闰年的条件:如果年份能被 4 整除且不能被 100 整除 = Leap如果年份可以被 4 整除并且可以被 100 整除并且可以被 400 整除 = Leap否则它不是闰年。我不明白第二个代码示例背后的逻辑,对我来说,就好像:如果年份能被 4 整除且不能被 100 整除 = Leap或者仅当年份可被 400 整除 = 闰(不包括其他条件)否则不是闰年有人可以解释为什么第二个代码示例也有效,以及它是如何解释的?
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
闰年的条件是年份能被 4 而不是 100 整除,或者年份能被 400 整除。
在数学上,任何能被 400 整除的东西都可以被 4 和 100 整除,这就是闰年是 if (x % 4 AND NOT x % 100) OR (x % 400) 的原因。
你可以看到它像这个因子分解:400 = 4 * 100,所以任何可以写成的数字都可以n * 400
写成n * 4 * 100
,所以你的条件只是多余的。
添加回答
举报
0/150
提交
取消