yungs   2년 전

게시판에서 말한데로 에라토스체도 쓰고...

sqrt(N)까지만 쓰고..

계속 시도 해봤는데.. 50%에서 계속 시간초과가 나네요 ㅠㅠ

뭐가 문제 일까요??

몇일째 잡고 있네요

도와주세요

dldyddlwl   2년 전

아래에 있습니다.

yungs   2년 전

자세한 설명 진짜 감사합니다^^

너무 자세히 써주셔서 깜짝 놀랐어요ㅠㅠ 감동이에요

행복하세요^^

matthew624   2년 전

저 시간초과가 나서 둘러보다가 발견해서 읽어보다가 질문드립니다. 저도 질문자님처럼 in을 썼었는데 그 이유는 문제에서 혹시 없는 경우는  "Goldbach's conjecture is wrong."을 출력하라고해서 없을 경우가 있을 것 같아서 i-j가 배열에 있는지 없는지 확인하려고했는데 in없이 바로 인덱스를 통해서 숫자를 넣으면 없을떄 오류가 나지 않나요?.. wrong이 나오는 예시를 찾지못해서 테스트는 못해봤습니다..

dldyddlwl   2년 전

질문해주셔서 감사합니다!

우선, 골드바흐의 추측은 10^18 내에서는 참이므로 문제 내에서는 wrong 케이스가 나오진 않습니다.

또한, 위에서의 listNum이라는 배열은 입력으로 주어지는 수 중에 가장 큰 수까지 미리 공간을 모두 할당해놓기 때문에 런타임 에러가 날 이유는 없습니다.

( 배열 내에서 소수가 아닌 숫자들만 0으로 값을 바꾸었고, 나머지는 0이 아닌 값이기 때문에, 조건문도 괜찮음 )

아마 질문자님께서는 소수만 배열에 넣는 식으로(?) 하셨나 봅니다. 그렇다면 확실히 그런 경우엔 위험할 수 있겠죠!

matthew624   2년 전

아 wrong case가 나오지않는군요!! 감사합니다 ㅠㅠ 소수만 배열에 넣었다가 인덱스 관리하기가 힘들어서 알려주신데로 0으로 바꿔서 해보니 됐네여!! 

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