提交时间:2026-06-05 14:22:41
运行 ID: 89420
#include <iostream> using namespace std; // 判断闰年 bool isLeap(int y) { if(y%400 == 0) return true; if(y%100 == 0) return false; if(y%4 == 0) return true; return false; } // 计算某年某月前总天数 int monthDay(int y, int m) { int mon[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; int sum=0; for(int i=1;i<m;i++) { sum += mon[i]; if(i==2 && isLeap(y)) sum++; } return sum; } // 计算从2021-01-01到y-m-d的总天数 int calcDay(int y,int m,int d) { int day=0; // 先算2021~y-1整年天数 for(int i=2021;i<y;i++) { if(isLeap(i)) day+=366; else day+=365; } // 再加当年月份+日期 day += monthDay(y,m); day += d; return day; } int main() { int y,m,d; cin >> y >> m >> d; int diff = calcDay(y,m,d); cout << diff << endl; // 2020-12-31是周四(4) int week = (4 + diff)%7; if(week == 0) week =7; cout << "*" << week << endl; return 0; }