miximum   2년 전

어떻게 해야할까요..

최대한 검색이 빠르게 될만한 조건은 다 더해봤는데 안됩니다 ㅠ

dbshin59   2년 전

41~43의 코드는 의미가 없어 보입니다. 골드바흐의 정리는 짝수 n은 무조건 두 소수의 합으로 나타내 진다는 것이었습니다.

40~43의 코드를 한 줄로 요약할 수 있는 방법이 있습니다! 그렇게 하시면 for문 때문에 시간초과가 나는 것을 막을 수 있을 것 같습니다.

그리고 이 문제에서 구하는 조건은 차이가 가장 작은 수입니다. 그런데 가장 차이가 큰 수부터 탐색하게 되면 불필요한 계산이 많아지고 당연히 시간도 오래 걸립니다.

차이가 가장 작은 수부터 탐색할 수 있으면 좋을 것 같습니다.

nahwasa   2년 전

일단 에라토스테네스의 체로 미리 소수 판별해두신건 좋았구요!

다만 정답찾기에 해당하는 로직이 개선이 필요합니다.

이를 위한 문제의 힌트는 '두 소수의 차이가 가장 작은 것을 출력' 입니다.

즉, 모든 경우를 다 보고나서 작은것을 출력하지 마시고,

애초에 가장 차이가 작은곳부터 점점 차이를 늘리면서 답을 찾으시면 모든경우를 보지 않아도 찾은 시점에서 루프를 종료할 수 있습니다.

가장 차이가 적은곳은 n/2 지점이구요!!!

miximum   2년 전

정말 감사합니다!

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