-
[21919] 소수 최소 공배수 (Python)[Python] 알고리즘/Silver 2021. 11. 30. 17:14
[문제]
https://www.acmicpc.net/problem/21919
21919번: 소수 최소 공배수
수열 중에 소수는 2, 3, 5가 있다.
www.acmicpc.net
알고리즘 분류는 수학, 정수론, 소수 판정, 에라토스테네스의 체 입니다.
중복된 소수가 나올 수 있습니다. (이 경우를 고려하지 않으면 출력 초과 오류가 뜹니다.)
[코드]
import sys def prime(): n = 1000000 p = [True] * n m = int(n ** 0.5) for i in range(2, m + 1): if p[i] == True: for j in range(i + i, n, i): p[j] = False return p N = int(sys.stdin.readline()) A = map(int, sys.stdin.readline().split()) P = prime() res = 1 cnt = 0 dt = dict() for i in A: if P[i] == True and i not in dt: res *= i dt[i] = 0 cnt += 1 if cnt != 0: print(res) else: print(-1)
'[Python] 알고리즘 > Silver' 카테고리의 다른 글
[1543] 문서 검색 (Python) (0) 2021.12.02 [4900] 7 더하기 (Python) (0) 2021.12.01 [6616] 문자열 암호화 (Python) (0) 2021.11.29 [1706] 크로스워드 (Python) (0) 2021.11.25 [14495] 피보나치 비스무리한 수열 (Python) (0) 2021.11.23