BAEKJOON_6588) 골드바흐의 추측

6588) 골드바흐의 추측 (19.03.24) (19.09.02)






* 우선 n이 1000000 까지의 정수이기 때문에, ari[1] 부터 ari[1000000]까지의 칸에
* 인덱스가 홀수일 경우에만 값을 인덱스와 같게 입력했다.
* 그리고 에라토스테네스의 체 방식을 이용해 ari 배열에 소수만 남겼다.

* 그리고 while 문을 돌려서 입력이 0이 되면 그만두게 했고,
* 두 수를 더해서 n 이 되려면, n/2 보다 작은 수들을 더해야 하기 떄문에,
* j 를 가능한 홀수 소수인 3부터 n/2 까지, 홀수만 탐색하기 위해 j에 2씩 더해갔다.
* 이 때, n 에서 j 를 뺀 나머지 수를 k 로 정해, 두 수가 소수인지 ari 배열로 확인했다.

* 둘 다 소수라면 바로 정답을 출력하도록 했고,
* 만약 j가 n/2보다 하나 작은 수라면 정답이 없기 때문에 주어진 문장을 출력하도록 했다.

* 여기서 cnt 가 의미하는게 없어보여서 지우고 다시 채점을 했다.



* 시간, 코드길이 감소했다. 메모리는 증가



* 에라토스테네스의 체를 처음보다 쉽게 구현했다.
* 이전코드보다 시간, 길이, 메모리 모두 감소. 드디어..!!!

댓글

이 블로그의 인기 게시물