9020번 - 골드바흐의 추측
안녕하세요. 코딩 시작한지 2주정도 된 초보입니다.
9020번 문제에서 입력하는 짝수 N의 범위가 <=10000이기 때문에
N=a+b (a, b:소수)라고 하면 a, b<5000 이 될테니
a, b가 소수인지 판별하기 위한 boolean[] A의 크기를 5001로 설정해주었는데
런타임에러(ArrayIndexOutOfBounds)가 나오네요.
boolean[] A의 크기를 10001로 수정해주면 정상채점이 되는데
5001은 왜 에러가 나는지 잘 모르겠습니다.
도움부탁드립니다ㅠㅠ
어떤수가 10000이라 가정한다면
3 9997로도 나타낼 수 있겠지요.
문제 조건에 따라 가장 작은 차이 값을 나타내기 위해 3 9997이 아닌 다른 두개의 값일 수 있겠지만
앞서말한 가능성을 염두하면 배열의 크기를 5001로 하기에는 정말 특정한 경우에 문제가 있지 않을까 생각이듭니다.
아 맞습니다! 제가 잘못생각했네요 ㅎㅎ 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
anony02 2년 전
안녕하세요. 코딩 시작한지 2주정도 된 초보입니다.
9020번 문제에서 입력하는 짝수 N의 범위가 <=10000이기 때문에
N=a+b (a, b:소수)라고 하면 a, b<5000 이 될테니
a, b가 소수인지 판별하기 위한 boolean[] A의 크기를 5001로 설정해주었는데
런타임에러(ArrayIndexOutOfBounds)가 나오네요.
boolean[] A의 크기를 10001로 수정해주면 정상채점이 되는데
5001은 왜 에러가 나는지 잘 모르겠습니다.
도움부탁드립니다ㅠㅠ