골드바흐의 추측 문제를 풀려다보니, 에라토스테네스의 체의 소수를 구하는 방법을 공부하기 위해 풀었다. 생각보다 너무 간단했다.
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)
이제 다시 못풀었던, 골드바흐~~를 풀어봐야겠다.
댓글