26 lines
626 B
TypeScript
26 lines
626 B
TypeScript
export {};
|
|
const maxNum = 1000000;
|
|
const input = require("fs").readFileSync(0).toString().trim().split('\n').map(Number);
|
|
const T: number = input[0];
|
|
|
|
let isPrime: boolean[] = Array.from({length: maxNum+1}, (_, 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')); |