注意:只提交这个日期,不要写其它附加内容,比如:说明性的文字。
#include <iostream> #include <cstdio> using namespace std; int Month[12]={31,28,31,30,31,30,31,31,30,31,30,31}; bool isleap(int n) { if((n%4==0&&n%100!=0)||n%400==0) return true; return false; } int main() { int m; while(cin>>m) { int year=1777; int month=4; int day=30; int i; for(i=year;;i++) { if(isleap(i)&&m<366) break; if(!isleap(i)&&m<365) break; if(isleap(i)) m-=366; else m-=365; } year=i; while(m>Month[month-1]) { if(isleap(year)) Month[1]++; m-=Month[month++]; if(month==12) year++; } day+=m; if(day>Month[month-1]) { month++; day-=Month[month-1]; } printf("%02d-%02d-%02d\n",year,month,day); } return 0; }