0027 - What day is today?

#include <iostream>
using namespace std;

int Zeller(int year, int month, int day)
{
	if (month==1 || month==2) {
		--year;
		month+=12;
	}
	return (year+year/4-year/100+year/400+(13*month+8)/5+day)%7;
}

void Slove(int month, int day)	{
	string date[7]={"Sunday", "Monday", "Tuesday",
						"Wednesday", "Thursday", "Friday", "Saturday"};

	cout << date[Zeller(2004,month,day)] << endl;
}

int main(void)	{
	int month, day;

	while (cin >> month >> day && month)
		Slove(month,day);
	return 0;
}

ツェラーの公式一発でした。。