사용 언어 - Python3
문제 - 암호 키
1816번: 암호 키
현대 사회에서 통용되고 있는 많은 종류의 암호 시스템에서는, 매우 큰 소수의 곱으로 만들어진 수를 암호 키로 이용하는 경우가 많다. 현실적으로 매우 큰 수를 빠른 시간 내에 소인수분해하는
www.acmicpc.net
정답
모든 소인수가 1000,000보다 작은지 확인
1. 소인수 = 1을 제외한 약수
2. 2부터 1000000까지 수로 나누고 나누어떨어진다면, 100만 이하의 약수가 존재한다는 의미
NO를 출력하고 break
=> 모든 경우의 수를 생각하는 완전탐색 방법
3. 100만까지 갔다면, 100만 이하의 약수가 존재하지 않는다는 뜻이므로
YES를 출력
N = int(input())
for _ in range(N):
S = int(input())
for i in range(2,1000001):
if S%i == 0:
print("NO")
break
if i == 1000000:
print("YES")
레퍼런스
- 정답 깃허브
https://github.com/yyeongeun/codingtest/blob/main/BAEKJOON/1816_%EC%95%94%ED%98%B8%ED%82%A4.py
'Algorithm > 완전탐색' 카테고리의 다른 글
[백준] 19532번 수학은 비대면강의입니다 (0) | 2023.09.10 |
---|---|
[백준] 14568번 2017 연세대학교 프로그래밍 경시대회 (0) | 2023.09.10 |
[프로그래머스 lv1] 대충 만든 자판 (0) | 2023.04.24 |
[프로그래머스 lv 2] 모음사전 (0) | 2023.02.15 |
[프로그래머스 lv2] 피로도 (0) | 2023.02.10 |
댓글