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

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 01:54:27

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 .