题解 | 打印日期
#include<iostream> #include<stdio.h> using namespace std; int main(){ int y,n; while(cin>>y>>n){ bool leapyear=(y%4==0&&y%100!=0)||(y%400==0); int month[]={31,leapyear?29:28,31,30,31,30,31,31,30,31,30,31}; int order=0,M,D; int i=0; while(i<12){ order+=month[i]; if(order>=n){ M=i+1; D=n-(order-month[i]); break; } else i++; } printf("%04d-%02d-%02d\n",y,M,D); } }