๐ŸŽฒ ๋ฐฑ์ค€ 1644๋ฒˆ ์†Œ์ˆ˜์˜ ์—ฐ์†ํ•ฉ

Jeongeunยท2024๋…„ 2์›” 4์ผ
0

๋ฐฑ์ค€

๋ชฉ๋ก ๋ณด๊ธฐ
158/186

๋ฐฑ์ค€ 1644๋ฒˆ

๐ŸŽจ ์ฐธ๊ณ  ์ฝ”๋“œ

์ฝ”๋“œ

const fs = require('fs'); 
const input = +fs.readFileSync('/dev/stdin').toString().trim().split(' ');

let primes = [];
let check = new Array(input + 1).fill(true);

for (let i = 2; i <= Math.sqrt(input); i++) {
  if (!check[i]) continue;
  for (let j = i * i; j <= input; j += i) {
    check[j] = false;
  }
}

for (let i = 2; i <= input; i++) {
  if (check[i]) primes.push(i);
}

let left = 0;
let right = 0;
let sum = primes[0];
let answer = 0;

while (left < primes.length && right < primes.length) {
  if (sum === input) {
    answer++;
  }

  if (sum < input) {
    right++;
    sum += primes[right];
  } else {
    sum -= primes[left];
    left++;
  }
}

console.log(answer);

0๊ฐœ์˜ ๋Œ“๊ธ€