#include using namespace std; // 判断是不是闰年 bool isRun(int year) { return year % 4 == 0 && year % 100 != 0 || year % 400 == 0; } // 获取每个月的天数 int getDays(int year, int month) { int days[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; return days[month] + (month == 2 && isRun(year)); } // 获取星期几 int getXq(int year, int month, int day) { // 我们知道2024年1月1号是星期一 // year>=2024 // 计算2024年1月1号到year年month月day日的天数 2025 int days = 0; for (int i = 2024; i < year; i++) days += 365 + isRun(i); for (int i = 1; i < month; i++) days += getDays(year, i); days += day; return days % 7; } int main() { // 初始化2024年1月1号至2025年12月31号 for (int year = 2024; year <= 2025; year++) { for (int month = 1; month <= 12; month++) { int days = getDays(year, month); for (int day = 1; day <= days; day++) cout << year << " " << month << " " << day << " " << getXq(year, month, day) << endl; } } return 0; }