7086 : GCD·LCM 다중
•시간제한: 2.000 S
•메모리제한: 256 MB
•제출: 1
•통과: 1
•만든사람: suakii
문제 설명
여러 개의 정수가 주어졌을 때, 모든 정수들의 최대공약수(GCD)와 최소공배수(LCM)를 구하는 프로그램을 작성하십시오.
[제약 조건]
• 한 줄당 정수 개수 $K$: $2 \le K \le 10$
• 각 정수: $1 \le x \le 10^9$
[제약 조건]
• 한 줄당 정수 개수 $K$: $2 \le K \le 10$
• 각 정수: $1 \le x \le 10^9$
입력 설명
첫째 줄에 여러 개의 정수가 공백으로 구분되어 주어집니다. (정수 개수 $K$는 $2 \le K \le 10$, 각 정수는 $1 \le x \le 10^9$)
출력 설명
주어진 모든 정수의 최대공약수(GCD)와 최소공배수(LCM)를 공백으로 구분하여 한 줄에 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
12 18 24
출력 예시
COPY
복사되었습니다!
복사되었습니다!
6 72
도움
두 수의 최소공배수는
여러 수의 최대공약수와 최소공배수는 순차적으로 계산을 누적해가며 구할 수 있습니다.
최소공배수가 매우 커질 수 있으므로, 큰 수 연산을 지원하는 정수 자료형(Python의 기본 int, PHP의 GMP 등)을 활용해야 합니다.
LCM(a, b) = (a * b) // GCD(a, b)로 구할 수 있습니다.여러 수의 최대공약수와 최소공배수는 순차적으로 계산을 누적해가며 구할 수 있습니다.
최소공배수가 매우 커질 수 있으므로, 큰 수 연산을 지원하는 정수 자료형(Python의 기본 int, PHP의 GMP 등)을 활용해야 합니다.