#include<iostream>
using namespace std;
const char wstr[][20]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};
int days_of_year(int year)
{
if(year%400==0||(year%4==0&&year%100!=0))
return 366;
return 365;
}
int days_of_month(int month,int year)
{
if(month==2&&days_of_year(year)==366) return 29;
switch(month)
{
case 1:case 3:case 5: case 7: case 8: case 10: case 12:
return 31;
case 4: case 6: case 9: case 11:
return 30;
case 2:
return 28;
}
}
int main()
{
int n;
cin>>n;
int year,month,day,weak;
while(n!=-1){
year=2000;month=1;day=1;weak=n%7;
n++;//下面的运算实际上是从1月0日开始,这里补一
while(n>days_of_year(year)){
n-=days_of_year(year);
year++;
}
while(n>days_of_month(month,year)){
n-=days_of_month(month,year);
month++;
}
day=n;
cout<<year<<"-"<<(month>=10?"":"0")<<month<<"-"<<(day>=10?"":"0")<<day<<" "<<wstr[weak]<<endl;//?:处理时用字符串不能用空字符
cin>>n;
}
return 0;
}
poj2080
最新推荐文章于 2018-03-02 23:01:17 发布