나는이 주제에 대한 여러 가지 오래된 글을 살펴 보았고, 어떤 식 으로든 나를 혼란스럽게 만들었다. 그래서 나는 처음부터 시작할 것입니다.PYTHON : n 번째 소수 찾기
문제는 프로젝트 오일러 # 7이며 문제를 해결하기 위해 노력하는 상당히 새로운 프로그래머입니다. # 7은 다음과 같습니다.
처음 6 개의 소수 : 2, 3, 5, 7, 11 및 13을 나열하면 여섯 번째 소수가 13임을 알 수 있습니다. 10,001 번째 소수는 무엇입니까?
제 문제는 다음과 같습니다. 소수가 무엇인지, 어떻게 작동하는지 명확하게 이해합니다.
For n in range(3,n) #where n is some very large value.
if n%i ==0 for i in range(2,n-1)
return False
if n%i == 0 for i == n
return True
하지만 내가 원하는 것을 찾는 나를 방해되는 파이썬에 올 때 나는 내 지식의 부족을 생각 :이 문제에 대한 작성합니다 sudo는 코드는 이것이다.
내가 본 다른 솔루션의 대부분은 n을 125000과 같은 것으로 제한하며 정직하게도 그 번호를 가진 곳을 찾지 못했습니다.
다른 문제는 범위를 통해 올바르게 검색하고 목록의 최대 값을 확인할 수있는 방식으로 관계를 충족시키는 값 목록을 만드는 방법을 모르겠다는 것입니다.
나에게 가장 이해하기 쉬운 것은 기본적으로 각 새 소수를 목록에 추가 한 다음 최대 값을 가져 오는 것이지만 더 빠르고 더 좋은 방법이 있다고 확신합니다. 답을 얻으려면 파이썬 테크 놀블에 뛰어 들지 않고 건강한 설명을 포함 시키십시오. 기억해 봅시다. 프로그래밍 초보자입니다.
저는 사람들이 이것과 같은 질문을하는 전형적인 방법은 질문자가 옳은 대답을 찾도록 자극하는 것이라고 알고 있습니다. 나는 그것을 원하지 않습니다. 누군가에게 나에게 해결책을 보여주고 코드의 각 부분이 무엇을 설명하는지 단계별로 설명하여 문제 해결 방법뿐만 아니라 파이썬의 작동 방식을 더 잘 이해할 수있게 해달라고합니다.
감사합니다.
: 여기
은 샘플 코드입니다. 아니면이 답변을 참조 할 수 있습니다 [빠른 방법 - 목록 - 모든 - 소수 - 아래 - n] (http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below- n) – Pavan@ Pavan 그는 이미 프라임을 처리하는 적절한 패키지를 사용하지 않으려 고 생각합니다. –
@PhungDuyPhong은 동일한 작업을 수행하는 서로 다른 알고리즘이 존재하고 서로 비교되는 링크를 추가했습니다. – Pavan