哪里有網(wǎng)站開發(fā)公司媒體推廣
給出年份 y和一年中的第 d天,算出第 d天是幾月幾號。
輸入格式
輸入包含多組測試數(shù)據(jù)。
每組數(shù)據(jù)占一行,包含兩個整數(shù) y 和 d。
輸出格式
每組數(shù)據(jù)輸出一行一個結(jié)果,格式為 yyyy-mm-dd。
數(shù)據(jù)范圍
輸入最多包含 100 組數(shù)據(jù),
1≤y≤3000,
1≤d≤366,
數(shù)據(jù)保證合法。
輸入樣例:
2000 3
2000 31
2000 40
2000 60
2000 61
2001 60
輸出樣例:
2000-01-03
2000-01-31
2000-02-09
2000-02-29
2000-03-01
2001-03-01
#include<iostream>
using namespace std;
int mouth[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int is_run(int y) //閏年
{if((y%4==0&&y%100)||y%400==0)return 1;return 0;
}
int day(int y,int m) //每個月多少天
{if(m==2) return mouth[m]+is_run(y);return mouth[m];
}
int main()
{int y,s;while(cin>>y>>s){int m=1,d=1;s--;while(s--){if(++d>day(y,m)) //如果大于這個月的天數(shù),月數(shù)加1,天數(shù)為0{d=1;if(++m>12) //如果大于月數(shù),年數(shù)加1{m=1;y++;}}}printf("%04d-%02d-%02d\n",y,m,d);}return 0;
}