anony02   2년 전

안녕하세요. 코딩 시작한지 2주정도 된 초보입니다.

9020번 문제에서 입력하는 짝수 N의 범위가 <=10000이기 때문에

N=a+b (a, b:소수)라고 하면 a, b<5000 이 될테니

a, b가 소수인지 판별하기 위한 boolean[] A의 크기를 5001로 설정해주었는데

런타임에러(ArrayIndexOutOfBounds)가 나오네요.

boolean[] A의 크기를 10001로 수정해주면 정상채점이 되는데

5001은 왜 에러가 나는지 잘 모르겠습니다.

도움부탁드립니다ㅠㅠ

jeha0714   2년 전

어떤수가 10000이라 가정한다면

3 9997로도 나타낼 수 있겠지요.

문제 조건에 따라 가장 작은 차이 값을 나타내기 위해 3 9997이 아닌 다른 두개의 값일 수 있겠지만

앞서말한 가능성을 염두하면 배열의 크기를 5001로 하기에는 정말 특정한 경우에 문제가 있지 않을까 생각이듭니다.

anony02   2년 전

아 맞습니다! 제가 잘못생각했네요 ㅎㅎ 감사합니다.

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