1929번 - 소수 구하기
소수 출력이 정상적으로 되는데 결과는 틀렸다고 하네요 ㅜㅜ
어디가 틀린건지 말씀해주실분 계신가요 ㅠㅠ
1출력 안되고 2도 출력되고
N, M 포함 출력되는데도 그러네요 ㅠㅠ
감사합니다!!
for(int y = i*i ; y <= M ; y += i)
i*i가 아니라 i+i입니다
와우 정말 감사합니다.... 해결되었습니다!
명절 잘보내세요~ 감사합니다!
y가 i * i 부터 시작하는거 자체는 문제가 되지 않습니다.
다만 i가 백만정도까지 올라가는데 i * i가 오버플로우가 일어나서 y가 이상한 값에서부터 시작해서 그렇죠
오버플로우 방지를 위해서 12째줄을 if(i <= M / i) 로 바꾸면 맞을수있습니다.,
i+i로 바꿔서 해결된 거는 i*i가 이상한 음수값을 가져서 12째줄 if문을 의도치않게
통과하고 y의 시작은 i+i부터 정상적으로 시작해서 그렇습니다
감사합니다 ㅠㅠ와 ㅠㅠ
의문점이 완전 해결되었습니다!
오버플로우를 생각 못했네요!
정말 감사합니다 3587jjh님 명절 잘보내세요
댓글을 작성하려면 로그인해야 합니다.
kkaryking 6년 전
소수 출력이 정상적으로 되는데 결과는 틀렸다고 하네요 ㅜㅜ
어디가 틀린건지 말씀해주실분 계신가요 ㅠㅠ
1출력 안되고 2도 출력되고
N, M 포함 출력되는데도 그러네요 ㅠㅠ
감사합니다!!