본문 바로가기
IT_tech/알고리즘

백준) 9020 골드바흐의 추측 -JAVA

by 신드로 2020. 6. 25.

시간초과만 거의 10번정도 난거 같네욬ㅋㅋ

대량의 테스트케이스를 돌린다고 합니다.

다른데서 줄여도 소용없고 for문을 이중으로 돌림 답없는거 같습니다

두 소수의 합이므로 입력값 1/2만 for문

뒤에 값일수록 격차가 적으므로 더해지는 양수가 모두 소수일때 마다

전부 answer변수에 덮어쓰면 끝!

package solution;

import java.util.Scanner;

public class Bakjun_9020 {
	public static void main(String[] args) {
	
		   Scanner sc = new Scanner(System.in);
		   String answer="";
		   int i=0;
		   int j=0;
	   
		   int T = sc.nextInt();
		   
		   for(int k=0;k<T;k++) {
		   
		 
		    int S  = sc.nextInt();
		
		    int a []=new int [S+1];
		  
		   
		    for (i = 0; i <= S; i++) {
		    	a[i] = 0;		 
		    }
			    a[1] = 1;
			
			for (i = 2; i <= S; i++) {
				for (j = 2; i*j <= S; j++) {
					a[i * j] = 1;
				}
			};
						
			
			for (i = 2; i <= S/2; i++) {
				if(a[i] != 1) {
					j = S-i;
					if(a[j]!=1) {
								answer=i+" "+j;	
					     }
					}
				}
			   System.out.println(answer);	    
        
		   }

		   sc.close();
		   }//메인메소드종료 
	
	}//클래스종료

https://www.acmicpc.net/problem/9020

 

9020번: 골드바흐의 추측

문제 1보다 큰 자연수 중에서  1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수

www.acmicpc.net