본문 바로가기
카테고리 없음

[파이썬][백준] 에라토스테네스의 체

by titaniumm 2020. 3. 27.

골드바흐의 추측 문제를 풀려다보니, 에라토스테네스의 체의 소수를 구하는 방법을 공부하기 위해 풀었다. 생각보다 너무 간단했다.

 

num,k = map(int,input().split())
lit = [i for i in range(2,num+1)]
count = 0
while True:
    q = lit[0]
    for i in lit:
        if i % q ==0:
            lit.remove(i)
            count += 1
            result = i #마지막 값 저장
        if count == k:
            break
    if count ==k:
        break
print(result)

그리고 나서, 위의 기법을 활용하여 약수를 출력하도록 변행시켰다.

num = int(input())
lit = [i for i in range(2,num+1)]
count = 0
ans = []
while lit:
    q = lit[0]
    ans.append(q)
    for i in lit:
        if i % q ==0:
            lit.remove(i)
            count += 1

print(ans)

이제 다시 못풀었던, 골드바흐~~를 풀어봐야겠다.

댓글