c=((year-1)*365+((year-1)/4-(year-1)/100+(year-1)/400+1))%7;这是什么意思?

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 22:39:49
c=((year-1)*365+((year-1)/4-(year-1)/100+(year-1)/400+1))%7;这是什么意思?
xRN@7$@P邂b\qk5G!BY(B@ -̝Š_NHԤI:sȩA==L?ֈso<HKFdJUZ;1=TB@ K%6iT\2o7Kؽi-ȴHc,NH _I4޳UMfKr]u2ļW VI[zib@= aalF5̴o5@]o  Ðu1+r8CĈYdFl:NЎx$*rH0y;P`+I(K|3&yy^ U+MCB2J% 2-

c=((year-1)*365+((year-1)/4-(year-1)/100+(year-1)/400+1))%7;这是什么意思?
c=((year-1)*365+((year-1)/4-(year-1)/100+(year-1)/400+1))%7;这是什么意思?

c=((year-1)*365+((year-1)/4-(year-1)/100+(year-1)/400+1))%7;这是什么意思?
公元元年(也就是第一年)的第一天是星期1,以后的每一年与元年的差值取模7就可以算出该年的第一天是星期几.
c=[365*(year-1)+其中闰年的个数(闰年多一天)]%7+1;
c=((year-1)*365+((year-1)/4-(year-1)/100+(year-1)/400+1))%7;其中((year-1)/4-(year-1)/100+(year-1)/400就是其中闰年的个数,四年一闰,百年不闰,四百年再闰,所以4年的个数减去100年的个数在加上400年的个数就是其中闰年的个数了;
因为365=364+1;364%7=0;且后面的1可以加到去模公式前面去;所以可以化简成
c=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7 .