문제1191--[기초-종합] 함께 문제 푸는 날(설명)(C)

1191: [기초-종합] 함께 문제 푸는 날(설명)(C)

[만든사람 : 전현석, 정종광(채점데이터 및 확인), 배준호(확인), 최웅선(확인), 김지혜(그림) (2013)]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

본 문제는 C 의 빠른 기초 학습을 위해 설계된 문제로서 C 코드 제출을 기준으로 설명되어 있습니다.
------

프로그래밍언어 기초 100제 시리즈는 ... 
프로그래밍언어에 대한 기초가 없는 어느 누구라도 ~  

주어진 문제들을 읽고, 
예시 코드들을 보고, 읽고, 생각하고, 작성하고, 제출하는 
여러 번의 시행착오 과정을 통해 자신의 생각을 구체적이며 정확하게  
프로그래밍언어로 작성할 수 있는 능력을 매우 빠른 시간 내에 키울 수 있도록 설계되었다.  

온라인 채점시스템으로 제출되는 채점들은 채점기록 메뉴를 통해 살펴볼 수 있다.

같은 날 처음 문제를 풀기 시작한 3 명의 친구들이 
채점시스템에 들어와서 문제를 푸는 날짜 간격이 매우 규칙적이라고 할 때,  
다시 함께 모두 들어와 함께 문제를 풀게 되는 날의 날짜 간격은 얼마일까? 

예를 들어, 3명이 같은 날 처음 들어온 후, 이후 각각 3 일째 마다, 7 일째 마다, 9 일째 마다
한 번씩 들어와서 문제를 푼다면, 처음 들어온 날 이후 63 일째 마다 3 명이 함께 문제를 풀게 된다.

수학에서 배운 최소 공배수를 생각한 사람들도 있을 것이다. 
하지만, 정보에서 배우고 경험하는 문제해결 프로그래밍의 세상은 컴퓨터의 힘을 빌려 간단한 방법으로 해결할 수 있게 해준다. 

아래의 코드를 읽고, 이해한 후 도전해보자. 
d 는 날 수, a/b/c 는 세 친구의 방문 주기이다.

day=1;
while(day%a!=0 || day%b!=0 || day%c!=0) day++; //이게 무슨 의미일까?
printf("%d", day);

이외의 다양한 방법이 있을 수 있다.

정보의 문제해결에 있어서 정답은?
주어진 시간과 제약 조건 이내에 정확한 결과를 얻을 수 있는 모든 방법이다.
따라서 새로운, 더 빠른, 더 간단한 방법을 다양하게 생각해보고 도전해보자.

입력 설명

같은 날 처음 문제를 풀기 시작한 친구 3 명이 규칙적으로 방문하는,
방문 주기가 공백으로 구분되어 입력된다. 
(0 ~ 100) 

출력 설명

친구 3 명이 모두 함께 들어와서 문제를 풀게 되는 날의 주기를 출력한다. 

입력 예시 Copy

3 7 9

출력 예시 Copy

63

도움

기초100제(c)1 v1.5 : 정보교사 커뮤니티 @컴퓨터과학사랑(CSL)
- 중고등학교 정보 선생님들과 함께 정보수업/방과후/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.

출처/분류