alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 1837 암호제작_파이썬 본문
1837 암호제작 www.acmicpc.net/problem/1837
문제 풀기 전 공부할 것 : 큰 수 연산
풀이
<내용>
- k보다 작은 소수로 p가 나누어 떨어지면 좋지 않은 암호이기 때문에 k보다 작은 소수들을 찾아야 한다.
- k보다 작은 소수를 찾았다면 각각의 소수로 p를 나눌 수 있는지 확인하고 그 결과를 출력하면 된다.
<코드>
p, k = map(int, input().split())
prime = [False, False] + [True] * (k-2)
for i in range(2, int(k**0.5)+1):
if prime[i]:
for j in range(i+i, k, i):
if prime[j]:
prime[j] = False
flag = True
for i in range(2, k):
if prime[i]:
if p % i == 0:
flag = False
break
if flag:
print('GOOD')
else:
print('BAD', i)
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 4949 균형잡힌 세상_파이썬 (0) | 2020.11.01 |
---|---|
[알고리즘][Python] 백준(BOJ) 9012 괄호_파이썬 (0) | 2020.10.31 |
[알고리즘][Python] 백준(BOJ) 1244 스위치 켜고 끄기_파이썬 (0) | 2020.10.29 |
[알고리즘][Python] 백준(BOJ) 5347 LCM_파이썬 (0) | 2020.10.28 |
[알고리즘][Python] 백준(BOJ) 10211 Maximum Subarray_파이썬 (0) | 2020.10.27 |
Comments