Adagio non molto
823년만에 일어나는 달은 거짓 본문
요즘 화제가 되는 문자를 나도 받았었다. 823년만에 금요일, 토요일, 일요일이 5개 있는 달이 찾아왔다나... 친구들에게 돌리면 돈이 생긴다는데 첨엔 그럴듯 했으나 곧장 사실이 아님을 알 수 있었다.
뉴스기사를 찾아보니 2009년 5월과 2004년 10월에 이미 이러한 달이 있었다고 한다 ㅋㅋ
그래서 호기심을 가지고 C로 작성을 한 후 쭉~ 뽑아봤더니 놀라운 결과를 얻었다.
내가 작성한 코드가 틀리지 않았다면
2013년 3월, 2014년 8월, 2015년 5월, 2016년 1월, 7월 등 엄청 많다.
얼추 뽑아봐도 가장 긴 간격이 2년 안될 정도니... 사실 이런 달은 많다. ㅋㅋ
왜 이런 글들이 퍼졌는가는 모르겠는데... 흠.. 나름 오.. 과학적이고 수학적인 행운의 편지가? 하는 기대가 있었으나 ㅋㅋㅋㅋㅋ
아래는 내가 작성한 소스다. (도대체 더 보기 기능은 어떻게 쓰는거지..;)
#include <stdio.h>
int main(void)
{
int y=2011,m=7;
int first=0;
int endN;
printf("몇년도 까지 구할꺼?( 근데 시작년도가 2011년임 ㅋ) ");
scanf("%d",&endN);
while(1)
{
if(m==1 || m==3 || m==5 ||m==7 ||m==8 ||m==10 ||m==12)
first=first+3;
else if(m==4 || m==6 || m==9 || m==11)
first=first+2;
else if(m==2){
if(y%4==0 && y%100!=0)
first++;
else if(y%400==0)
first++;
}
m++;
if(m==13)
{y++;m=1;}
if(first%7==0){
if(m==1 || m==3 || m==5 ||m==7 ||m==8 ||m==10 ||m==12)
printf("%d년 %d월에 일어납니다.\n",y,m);
}
if(y>endN)
break;
}
return 0;
}
'Study > C' 카테고리의 다른 글
디버깅 (0) | 2012.05.31 |
---|---|
정수 선언 후 바이트별로 출력하기 (0) | 2012.05.10 |