본문으로 바로가기
728x90
반응형

[19번 문제]


다음은 달력에 관한 몇 가지 일반적인 정보입니다 (필요한 경우 좀 더 연구를 해 보셔도 좋습니다).

  • 1900년 1월 1일은 월요일이다.
  • 4월, 6월, 9월, 11월은 30일까지 있고, 1월, 3월, 5월, 7월, 8월, 10월, 12월은 31일까지 있다.
  • 2월은 28일이지만, 윤년에는 29일까지 있다.
  • 윤년은 연도를 4로 나누어 떨어지는 해를 말한다. 하지만 400으로 나누어 떨어지지 않는 매 100년째는 윤년이 아니며, 400으로 나누어 떨어지면 윤년이다

20세기 (1901년 1월 1일 ~ 2000년 12월 31일) 에서, 매월 1일이 일요일인 경우는 총 몇 번입니까?

[ 번역링크 / 원본링크 ]


[코드]


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
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
using namespace::std;
 
int ans = 0;
int main()
{
    int d=1;
    int month[12= {312831303130313130313031};
 
    for (int y = 1900; y <= 2000; y++)
    {
        if ((y % 4 == 0&& ((y % 100 != 0 || y % 400 == 0)))
            month[1= 29;
        else
            month[1= 28;
 
        for (int m = 0; m < 12; m++)
        {
            if (d == 0 && y>1900)
                ans++;
            d = (month[m] + d) % 7;
        }
    }
    cout << endl  << ans << endl;
    system("pause");
    return 0;
}
cs

728x90
반응형