seyhu2000   4년 전

안녕하세요. 이해가 안되서 질문 드립니다.


for(int j=i; j<=n; j = j+i) 이 부분에서

 i=2이면 visit[2]=1이 되어 소수가 아닌걸로 되는데


그래서 for(int j=i*i; j<=n; j = j+i) 이 부분에 i 혹은 2를 곱해야 하는게 아닌가요?


변경하고 제출하니 틀린답이 나와서요..


고수님들 왜 그런지 설명 좀 부탁드려요 ^^

chogahui05   4년 전

아닙니다.

2 4 6 8 10이 지워지고 난 후에 3이 지워져야죠.


안쪽 for문을 for(j=i*i;...)

이렇게 해 보세요. 4, 6, 8 이렇게 지워지지..

문제를 잘 읽어보세요..

seyhu2000   4년 전

감사합니다.

문제 조건을 자세히 읽어보니 이해가 됐어요 ^^

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