공통인수 > 문제은행



실전대비 Level7

1612 : 공통인수

제한시간: 1000 ms    메모리제한: 64 MB
해결횟수: 6 회    시도횟수: 17 회   



N개의 2이상 1,000,000,000 정수 집합이 주어질 때, 

1보다 큰 수 중에서 집합의 숫자를 가장 많이 나누어떨어지게 하는 숫자를 찾는 프로그램을 작성하라. 

 

예를 들어 정수 집합에 {2, 3, 4, 6} 이라는 숫자가 존재할 경우, 

집합의 숫자를 나누어떨어지게 하는 숫자는 

 

2(2,4,6을 나눠떨어지게 함), 

3(3,6을 나누어떨어지게 함), 

4, 

6이 존재하는데, 

 

이 중에서 2가 가장 많은 숫자를 나눠떨어지게 하므로 답은 2가 된다.




입력은 20개 이하의 테스트 케이스로 이루어진다. 한 줄에는 하나의 테스트 케이스가 입력되는데, 테스트 케이스의 첫 번째 숫자는 집합을 이루는 원소의 개수 N(N≤50)이 입력되며, 그 다음에는 N개의 정수 집합을 이루는 숫자가 입력된다. 원소의 개수에 0이 입력될 경우 입력을 종료한다.




각 테스트 케이스에 대해 집합의 숫자를 가장 많이 나눠떨어지게 하는 숫자를 테스트 케이스 순서대로 한 줄에 하나씩 출력한다.
만약에 나눠떨어지는 숫자의 개수가 같은 수가 여럿 있을 경우 그중 가장 큰 숫자를 출력한다.

집합에 포함되어 있지 않은 수가 정답일 수 있음에 유의한다.


4 2 3 4 6
3 2 3 6
4 2 3 5 7
8 2 3 5 6 7 9 11 12
0
2
3
7
3



HancomEducation E-mail : hancomc@hotmail.com, comkiwer@naver.com Tel : 031-388-0999 FAX : 031-388-0996 정올소개 이용약관 개인정보처리방침
경기도 안양시 동안구 호계동 1065-10 협성골드프라자 601호, 경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호
Copyright@2010-2015 jungol. All right reserved.