PE19题(蔡勒公式)

2020-02-02 / 无评论

PE19题(蔡勒公式)

#include <bits/stdc++.h>
using namespace std;
int Weekday(int year,int month,int day){
    if(month == 1 || month == 2) {
        month += 12;
        year--;
    }
    int c = year / 100;
    int y = year % 100;
    int m = month;
    int d = day;
    int w = c / 4 - 2 * c + y + y / 4 + 26 * (m + 1) / 10 + d - 1;
    if(w < 0)
        return (w + (-w / 7 + 1) * 7) % 7;
    return w % 7;
}
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int ans=0;
    for(int i=1901;i<=2000;i++){
        for(int j=1;j<=12;j++)
            if(Weekday(i,j,1)==0)
                ans++;
    }
    cout <<ans;
}

无回应:“PE19题(蔡勒公式)”

发表评论

电子邮件地址不会被公开。 必填项已用*标注