https://www.acmicpc.net/problem/9020
사실 어떻게 풀어야 하나 감이 잡히지 않았다... 그러다 졸려서 졸고 있었는데...
갑자기 눈이 딱 떠지면서 반으로 나눠보자! 그리고 두 수가 모두 소수라면 출력하자! 아니라면 +1, -1을 하여 맞춰가자라는 생각이 들었다!!!
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split('\n');
const isPrime = (n) => {
if(n == 1){
return false;
}else{
for(let i = 2; i <= Math.sqrt(n); i++){
if(n % i == 0){
return false;
}
}
}
return true;
}
for(let i = 1; i <= +input[0]; i++){
let a = +input[i] / 2;
let b = +input[i] / 2;
while(true){
if(isPrime(a) && isPrime(b)){
console.log (a, b);
break;
}else{
a--;
b++;
}
}
}