蒜头君的生日_c++

#include <iostream>
#include <string.h>
using namespace std;

int whatday(int y, int m, int d) {
int ans = 0;
for (int i = 1; i < y; i++) {
if ((i % 400 == 0)|| (i % 100 != 0 && i % 4 == 0)) {
ans += 366 % 7;
ans %= 7;
} else {
ans += 365 % 7;
ans %= 7;
}
}
for (int i = 1; i < m; i++) {
if (i == 2) {
if ((y % 400 == 0) || (y % 100 && y % 4 == 0)) {
ans += 29 % 7;
ans %= 7;
} else {
ans += 28 % 7;
ans %= 7;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
ans += 30 % 7;
ans %= 7;
} else {
ans += 31 % 7;
ans %= 7;
}
}
ans += (d - 1) % 7;
ans %= 7;
return ans;
}
int main() {
string weekday[7] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
int y, m, d;
cin >> y >> m >> d;
cout << weekday[whatday(y, m, d)] << endl;
return 0;
}

蒜头君的生日_算法_02