$\newcommand{\O}{\mathrm{O}}$
ツェラーの公式とは西暦の年、月、日から曜日($\mathrm{mod}\ 7$)を求める公式である.
以下の実装では日曜日始まりで日曜日が $0$ になる.
時間計算量: $\O (1)$
int zeller(int y, int m, int d){ if(m <= 2){ y--; m += 12; } return (y + y/4 - y/100 + y/400 + (13*m+8)/5 + d) % 7; }
AOJ : What day is today? 提出コード