lebesgue   3년 전

베르트랑 공준을 풀면서, 소수를 미리 구해놓고 시작하는 방법도 있다는 것을 알았습니다.

그러나 다른 방법으로도 풀고싶어서 질문드립니다.

예시로 짜본 코드인데요, 기본논리는 에라토스테네스의 체를 활용하여 for문에서 반복가능한 객체를 줄이고자 했습니다.

예를 들어, n = 10일때 s1이 [3, 5, 7, 9], [5, 7], [7]이 출력되고 len(l)이 4로 출력될 것이라 예상했습니다.

하지만 실제로 돌려보니 len(l)은 예상했던대로 출력이 되었으나

s1의 경우, [3, 5, 7, 9], [5, 7], [5, 7], [7], [7], [], [], []가 출력되더군요.

제 수준에서 생각해보면, idx가 0~7부터 출력되는것을 보니  s1을 도중에 바꾸더라도 for문이 처음시작되었을때 받았던 s1의 idx는 그대로 남아있기 때문인듯합니다.

제가 원하는 결과를 얻으려면 코드를 어떻게 수정해야하는지 질문드립니다.

감사합니다.

댓글을 작성하려면 로그인해야 합니다.