작성
·
222
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
tmdwl1110님, 소수 구하기 문제에서 언급하신 for문의 로직은 에라토스테네스의 체 알고리즘을 구현하는 부분입니다.
for문의 시작 조건인 (j=i+i)
는 i가 소수인 경우, i의 배수들을 제거하기 시작하는 지점을 나타냅니다. 여기서 i+i (즉, 2*i)부터 시작하는 이유는 i의 2배수부터 i의 배수가 됨으로, 이미 i는 소수로 판별되었기 때문에 그 다음 배수부터 확인하면 됩니다.
증감식인 (j=j+i)
는 j의 값을 i만큼 증가시켜 다음 i의 배수로 이동하게끔 합니다. 이는 i의 배수를 모두 찾아서 체크하는 과정을 반복적으로 수행하기 위함입니다.
continue
키워드를 만나면 그 이후의 for문 내부의 로직을 실행하지 않고, for문의 다음 반복(즉, j=j+i
이후의 다음 배수)으로 진행합니다. 즉, continue
는 해당 반복을 건너뛰고 for문의 다음 반복을 계속한다는 것을 의미합니다.
소수 판별 문제에서는 continue
를 사용하여 이미 체크된 배수(즉, 소수가 아닌 수)를 다시 체크하지 않도록 효율성을 높일 수 있습니다.
넵 알겠습니다 감사합니다 !!