Following function represents Sakamoto's Algorithm from Wikipedia page- http://en.wikipedia.org/wiki/Determination_of_the_day_of_the_week
int dow(int y, int m, int d) {
/* 1 <= m <= 12, y > 1752 (in the U.K.) */
static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
y -= m < 3;
return (y + y/4 - y/100 + y/400 + t[m-1] + d) % 7;
}
i do not understand how does the algorithm work? especially, the t[] array.