오일러 프로젝트의 19번 문제는 흥미롭다.

20세기에서 1일이 일요일인 경우는 몇번인가?

이 문제를 풀기 위해서 알아야 하는 정보는 다음과 같다.
1, 3, 5, 7, 8, 10, 12월은 31일이다.
4, 6, 9, 11월은 30일이다.
2월은 보통 28일인데, 윤년은 29일이다.
윤년은 연도 숫자가 4로 나누어 떨어지면 윤년이다. 단, 100으로 나누어 떨어지면 윤년이 아니다. 그럼에도 불구하고 400으로 나누어 떨어지면 윤년이다.
20세기는 1901년 1월 1일부터 2000년 12월 31일까지다.
1901년 1월 1일은 월요일이었다.

이 문제를 풀기 위한 알고리즘은 아주 많이 있다. 그중 가장 간단한 방법과 내가 쓴 방법을 소개하려 한다.



by snowall 2008.10.27 21:57
  • goldenbug 2008.10.29 05:48 신고 ADDR EDIT/DEL REPLY

    20세기는 99년밖에 안 됩니다. 특별케이스라고 해야 할까요? 2000년은 21세기로 포함되게 조정되었기 때문이라나 뭐라나..^^;

    • snowall 2008.10.29 08:17 신고 EDIT/DEL

      그건 문제의 규칙과는 관계가 없지요.
      문제의 규칙에서는 20세기를 1901년 1월 1일부터 2000년 12월 31일까지로 정해놓고 푸는 거니까요.