题目:
思路:
循环2-num/2,分别检验每个item及(num-item)是否是素数,再在循环中找最小差值
提交:
while(line = Number(readline())) {
// 先求出素数列表
let list = []
function isPrime(value) {
if (value <= 2.) return true
let flag = true
for (let i = 2; i <= Math.ceil(Math.sqrt(value)); i++) {
if (value % i === 0) {
flag = false
break
}
}
return flag
}
let result = null
let minWidth = null
for(let j = 2; j <= line / 2; j++) {
if (isPrime(j) && isPrime(line - j)) {
if (!result || minWidth > line - 2 * j) {
result = j
minWidth = line - 2 * j
}
}
}
console.log(result)
console.log(line - result)
}