1 条题解
-
0
#include using namespace std;
int isLeap(int y) { if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) { return 1; } return 0; }
int main() { int days; cin >> days;
int year = 2000; int month = 1; int day = 1; int weekday = (6 + days) % 7; int monthDays[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int d = days; while (d > 0) { int daysInYear = isLeap(year) ? 366 : 365; if (d >= daysInYear) { d -= daysInYear; year++; } else { for (int m = 1; m <= 12; m++) { int daysInMonth = monthDays[m]; if (m == 2 && isLeap(year)) { daysInMonth = 29; } if (d >= daysInMonth) { d -= daysInMonth; } else { month = m; day = 1 + d; d = 0; break; } } } } cout << year << "-" << month << "-" << day << " "; string week[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; cout << week[weekday]; return 0;}
信息
- ID
- 1126
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 85
- 已通过
- 23
- 上传者