【求助】~~~万年历算法问题
我最近在编写万年历的程序,可是遇到很多算法问题都不是很会的,麻烦路过的高手指点指点,谢了int whatisita(int y,int m)
{
int n,i;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31},s=0;
for(i=1;i<m;i++)
s=s+a[i];
if(IsLeapYear(y) && m>2) s=s+1;
n=(y-1+(y-1)/4-(y-1)/100+(y-1)/400+s+1)%7;
return n;
}
能解释以上的程序的意思吗,尤其是n=(y-1+(y-1)/4-(y-1)/100+(y-1)/400+s+1)%7; 貌似这个算法是求星期几的,可是这个算法是如何理解的