| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 89420 | sh25_zhangyj | 算天数 | C++ | 解答错误 | 0 MS | 244 KB | 1055 | 2026-06-05 14:22:41 |
#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; }