天天看點

泰勒公式推算星期

#include<iostream>
using namespace std;
//蔡勒公式推算星期幾
int weekday(int y,int m,int d)
{
	if(m==1)
	{
		m=13;y--;
	}
	if(m==2)
	{
		m=14;y--;
	}
	int c = y/100;
	y=y%100;
	return ((c/4)-2*c+y/4+y+(13*(m+1)/5)+d-1)%7;
}
int main()
{
	int y,m,d;
	while(cin>>y>>m>>d)
	{
		int wd=weekday(y,m,d);
		if(wd<0)
			wd+=7;
		switch(wd)
		{
		case 6:cout<<"星期六";break;
		case 0:cout<<"星期天";break;
		case 1:cout<<"星期一";break;
		case 2:cout<<"星期二";break;
		case 3:cout<<"星期三";break;
		case 4:cout<<"星期四";break;
		case 5:cout<<"星期五";break;
		}
		cout<<endl;
	}
	return 0;
}
           

繼續閱讀