esh0504   5년 전

최대로받는 n의 값이 123456 거기의 두배인 246912까지의 소수를 미리 구해서 저장하구 count 시키려고 했는데,

246913 까지 저장해야 맞았습니다로 나오는데 왜 246912까지의 소수가 아니라 246913까지의 소수를 저장시켜서 값을 구해야하는지 알고 싶습니다.

같이 첨부한 소스코드 함수 요약-

isPrime 함수는 리스트에 2~246913까지의 소수를 저장

count함수는 n에서 2n까지의 소수의 갯수 세는 함수입니다.


hello70825   5년 전

a를 246912로 한 후, 123456을 입력시 count함수 안에서 for문을 도는 동안 else를 한 번도 거치지 않고 for문이 끝나게 되어 아무것도 반환을 않은 채 끝나게 됩니다.

246913으로 해야 맞는 이유는 246913이 소수이기 때문에 마지막에 else문에 걸려 test 리스트를 반환하기 때문에 답이 정상적으로 출력 됩니다.

esh0504   5년 전

감사합니다 ! else에다가 return을 넣으면 안되는군요 return을 좀더 신중히 써야겠어요. 감사합니다

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