alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 1837 암호제작_파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 1837 암호제작_파이썬

알파이 2020. 10. 30. 08:45

 

1837 암호제작    www.acmicpc.net/problem/1837

 

1837번: 암호제작

원룡이는 한 컴퓨터 보안 회사에서 일을 하고 있다. 그러던 도중, 원룡이는 YESWOA.COM 으로부터 홈페이지 유저들의 비밀키를 만들라는 지시를 받았다. 원룡이는 비밀 키를 다음과 같은 방법으로

www.acmicpc.net

 

 

문제 풀기 전 공부할 것 : 큰 수 연산

 

 

 

 

 

 

 

풀이

<내용>

  • 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
반응형
Comments