www.judgeon.net 에는
같은 날 동시에 가입한 3명의 사람들이 들어와 문제를 푸는 날짜가
매우 규칙적이라고 할 때,
다시 모두 함께 문제를 풀게 되는 그날은 언제일까?
예를 들어 3명이 같은날 가입/등업하고, 각각 3일 마다, 7일 마다, 9일 마다 한 번씩 들어온다면, 처음 가입하고 63일 만에 다시 3명이 함께 문제를 풀게 된다.
www.judgeon.net 에는
같은 날 동시에 가입한 3명의 사람들이 들어와 문제를 푸는 날짜가
매우 규칙적이라고 할 때,
다시 모두 함께 문제를 풀게 되는 그날은 언제일까?
예를 들어 3명이 같은날 가입/등업하고, 각각 3일 마다, 7일 마다, 9일 마다 한 번씩 들어온다면, 처음 가입하고 63일 만에 다시 3명이 함께 문제를 풀게 된다.
같은 날 동시에 가입한 인원 3명이 규칙적으로 방문하는, 방문 주기가 공백을 두고 입력된다.
(단, 입력값은 100이하의 자연수이다.)
3명이 다시 모두 함께 방문에 문제를 풀어보는 날(동시 가입/등업 후 며칠 후?) 을 출력한다.
3 7 9
63
갑자기 힌트?
왠지 어려워 보이지 않는가?
수학에서 언뜻 배운? 최소공배수를 생각한 사람들도 있을 것이다. (이건 수학이야! ㅠㅠ; ... 하면서..)
하지만, 정보에서 배우고 경험하는 informatics의 세상은 때때로 컴퓨터의 힘을 빌려 매우 간단한 방법으로 해결할 수 있게 한다.
아래의 코드를 읽고 이해한 후 도전해 보자. ^^;;
day는 날 수, a/b/c는 방문 주기이다.
...
day=1;
while(day%a!=0 || day%b!=0 || day%c!=0) day++; //이게 무슨 의미일까?
printf("%d", day);
...
^^;; 물론, 아주 많은 다양한 방법이 있을 수 있다.
informatics의 문제 해결에 정답은 하나가 아니라...
지정된 시간내에 정확한 결과를 얻을 수 있는 모든 방법이 정답이다.
따라서, 모든 문제들에는 정답이 하나 뿐 만이 아니다.
새로운, 더 빠른, 더 간단한 방법을 다양하게 생각해보고 도전해 보기 바란다.