Notice
Recent Posts
Recent Comments
Link
Dev.baelanche
[백준 3896] 소수 사이 수열 본문
반응형
에라토스테네스의 체 방법으로 소수 배열을 구해놓고
합성수 k 에 대해
k보다 크면서 가장 가까운 소수 - k보다 작으면서 가장 가까운 소수를 구한다.
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean prime[] = new boolean[1299710];
for(int i=2; i<1299710; i++)
for(int j=i; i*j>2 && i*j<1299710; j++)
prime[i*j] = true;
int t = sc.nextInt();
while(t-->0) {
int k = sc.nextInt();
if(prime[k]) {
int s = k;
int e = k;
while(true) {
if(!prime[--s]) break;
}
while(true) {
if(!prime[++e]) break;
}
System.out.println(e-s);
} else System.out.println(0);
}
}
}
반응형
'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글
[백준 9421] 소수상근수 (0) | 2019.07.04 |
---|---|
[백준 6588] 골드바흐의 추측 (0) | 2019.07.04 |
[백준 2636] 치즈 (0) | 2019.07.04 |
[백준 14430] 자원 캐기 (0) | 2019.07.03 |
[백준 10867] 중복 빼고 정렬하기 (0) | 2019.07.03 |
Comments