시간초과만 거의 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
'IT_tech > 알고리즘' 카테고리의 다른 글
백준) 3009 네번째점 - JAVA (0) | 2020.06.27 |
---|---|
백준) 1085 직사각형에서 탈출 - JAVA (0) | 2020.06.25 |
프로그래머스-약수의 합 java (0) | 2020.06.24 |
프로그래머스) 평균구하기 (0) | 2020.06.23 |
백준) ) 소수구하기 1929 - JAVA (0) | 2020.06.21 |