오일러 프로젝트의 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