diff --git a/code_study/Baekjoon/java/_16724.java b/code_study/Baekjoon/java/_16724.java new file mode 100644 index 0000000..3581c7a --- /dev/null +++ b/code_study/Baekjoon/java/_16724.java @@ -0,0 +1,68 @@ +import java.util.*; + +public class _16724 { + static char[][] mapInfo = new char[1000][1000]; + static int[] parents = new int[1000000]; + static int[] rank = new int[1000000]; + static int N, M; + + static int area_num(int i, int j) { + return M*i + j; + } + + static int find(int n) { + if (n != parents[n]) return parents[n] = find(parents[n]); + return n; + } + + static void union(int a, int b) { + a = find(a); + b = find(b); + + if (a != b) { + if (rank[a] > rank[b]) parents[b] = a; + else if (rank[a] < rank[b]) parents[a] = b; + else { + parents[a] = b; + rank[b]++; + } + } + } + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + N = sc.nextInt(); + M = sc.nextInt(); + sc.nextLine(); + + for(int i=0; i i>=2 ? true: false); + +for(let n=2; n*n<=maxNum; n++) { + if(isPrime[n]) { + for(let i=n*n; i<=maxNum; i+=n) isPrime[i] = false; + } +} + +let result: number[] = []; +for(let t=1; t<=T; t++) { + const num: number = input[t]; + let count: number = 0; + + for(let i=2; i<=num/2; i++) { + if(isPrime[num-i] && isPrime[i]) count++; + } + + result.push(count); +} + +console.log(result.join('\n')); \ No newline at end of file