描述
给出年分m和一年中的第n天,算出第n天是几月几号。
输入描述:
输入包括两个整数y(1<=y<=3000),n(1<=n<=366)。
输出描述:
可能有多组测试数据,对于每组数据, 按 yyyy-mm-dd的格式将输入中对应的日期打印出来。
示例1
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main() {
int year,n;
int monday[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
while(~scanf("%d %d",&year,&n)){
int mon = 1;
int day =1;
for(int i = 0;i < n - 1 ;i++){
//若为闰年
bool isLeap = year % 400 == 0 || year % 100 != 0 && year % 4 == 0;
if(isLeap)
monday[2] = 29;
else
monday[2] = 28;
//NextDay操作
day++;
if(day > monday[mon]){
mon++;
day = 1;
if(mon > 12){
year++;
mon = 1;
}
}
}
printf("%04d-%02d-%02d",year,mon,day);
}
return 0;
}