Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

PS 부수기

Project Euler #19 : 20세기에서, 매월 1일이 일요일인 경우는 몇 번? 본문

Project Euler

Project Euler #19 : 20세기에서, 매월 1일이 일요일인 경우는 몇 번?

jyheo98 2020. 8. 7. 13:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int main() {
    VI ord = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
    VI yoon = { 0,31,29,31,30,31,30,31,31,30,31,30,31 };
    int curDay = 0;
    int cnt = 0;
    for (int year = 1900; year <= 2000; year++) {
        bool isYoon = (year % 4 == 0) ? true : false;
        if (isYoon && year % 100 == 0) isYoon = false;
        if (!isYoon && year % 400 == 0) isYoon = true;
        for (int month = 1; month <= 12; month++) {
            if (curDay == 6 && year != 1900) cnt++;
            if (isYoon) {
                curDay += yoon[month];
                curDay %= 7;
            }
            if (!isYoon) {
                curDay += ord[month];
                curDay %= 7;
            }
        }
    }
    cout << cnt;
}
cs
Comments