Coding Test
[백준] 소수 최소 공배수
상상쓰
2021. 7. 22. 14:48
https://www.acmicpc.net/problem/21919
21919번: 소수 최소 공배수
수열 중에 소수는 2, 3, 5가 있다.
www.acmicpc.net
중복되지 않은 소수의 곱이 최소 공배수이다.
중복되는 소수가 나올 수 있는 경우를 주의하자. '틀렸습니다' 가 아닌 '출력 초과' 로 나와서 뭐가 틀렸는지 한참 찾았다.
import sys, math
def prime(n):
answer = True
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
answer = False
break
return answer
N = int(sys.stdin.readline())
A = list(map(int, sys.stdin.readline().strip().split()))
answer = 1
dic = {}
for i in range(N):
if prime(A[i]) and A[i] not in dic:
dic[A[i]] = 1
answer *= A[i]
answer = -1 if answer == 1 else int(answer)
print(answer)