Jayden1116 2022. 5. 22. 23:42
const fs = require('fs');
const path = process.platform === 'linux' ? '/dev/stdin' : './data.txt';

const input = fs
  .readFileSync(path)
  .toString()
  .trim()
  .split(' ')
  .map((x) => Number(x));

function solve(input) {
  const M = input.shift();
  const N = input.shift();

  const arr = [...new Array(N + 1).keys()]; // 0๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฐฐ์—ด ์ƒ์„ฑ

  for (let i = 2; i <= Math.sqrt(N); i++) {
    // 2๋ถ€ํ„ฐ N์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€์— ๋Œ€ํ•ด์„œ
    if (arr[i]) {
      // arr[i]์˜ ๊ฐ’์ด ๊ณง i
      for (let j = i * i; j <= N; j += i) {
        arr[j] = false; // i=2์ผ ๋•Œ, 4๋ถ€ํ„ฐ 2์˜ ๋ฐฐ์ˆ˜๋“ค์ด false๊ฐ€ ๋จ, ์ดํ›„ i=3์ผ ๋•Œ๋Š” 9๋ถ€ํ„ฐ(์™œ๋ƒํ•˜๋ฉด ์•ž์—์„œ ์ด๋ฏธ ์ด์ „ ์†Œ์ˆ˜์ธ 2์— ์˜ํ•ด ๊ฐ’๋“ค์ด ๊ฑธ๋ ค์กŒ๊ธฐ ๋•Œ๋ฌธ)
      }
    }
  }

  arr.shift(); // ๋ฐฐ์—ด์—์„œ 0 ๊ฐ’ ์ œ๊ฑฐ
  arr.shift(); // ๋ฐฐ์—ด์—์„œ 1 ๊ฐ’ ์ œ๊ฑฐ

  for (let value of arr.filter((x) => x >= M)) {
    // ๋ฐฐ์—ด์—์„œ M๋ณด๋‹ค ํฐ ์• ๋“ค๋งŒ ๋‚จ๊ฒŒ ๋งŒ๋“ค๊ธฐ
    value ? console.log(value) : null; // value๊ฐ€ true์ผ ๋• console.log(value), false์ผ ๋• null
  }
}

solve(input);

 

๋ฐฑ์ค€

 

1929๋ฒˆ: ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ M๊ณผ N์ด ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. (1 ≤ M ≤ N ≤ 1,000,000) M์ด์ƒ N์ดํ•˜์˜ ์†Œ์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์ด์ƒ ์žˆ๋Š” ์ž…๋ ฅ๋งŒ ์ฃผ์–ด์ง„๋‹ค.

www.acmicpc.net

 

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด : ๋‚˜๋ฌด์œ„ํ‚ค

 

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด - ๋‚˜๋ฌด์œ„ํ‚ค

์ž„์˜์˜ ์ž์—ฐ์ˆ˜ n์— ๋Œ€ํ•ด ๊ทธ ์ดํ•˜์˜ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ๋น ๋ฅธ[2] ๋ฐฉ๋ฒ•์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 1~100๊นŒ์ง€ ์ˆซ์ž ์ค‘ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค ํ•˜์ž. ์ผ๋‹จ 1๋ถ€ํ„ฐ 100๊นŒ์ง€ ์ˆซ์ž๋ฅผ ์ญ‰ ์“ด๋‹ค. 1234567891011121314151617181920212223

namu.wiki

 

๊ฐœ์ธ์ ์œผ๋กœ ์œ„ํ‚คํ”ผ๋””์•„๋„ ์ข‹์ง€๋งŒ, ์ „๋ฐ˜์ ์ธ ๊ฐœ๋…์„ ๋‚˜๋ฌด์œ„ํ‚ค์—์„œ ๋” ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„ ์ฒจ๋ถ€ํ•œ๋‹ค.
๋ง๊ทธ๋Œ€๋กœ ์ฒด๋กœ ๊ฑฐ๋ฅด๋“ฏ์ด ์†Œ์ˆ˜๊ฐ€ ์•„๋‹Œ ์ˆซ์ž๋“ค์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค.
์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ํ•ต์‹ฌ!

  1. a์—์„œ b๊นŒ์ง€ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š”๋‹ค๊ณ  ํ•  ๋•Œ, ๋‚˜๋ˆ ์„œ ์ฒดํฌํ•ด์•ผํ•˜๋Š” ๊ฐ’์€ b์˜ ์ œ๊ณฑ๊ทผ๋ณด๋‹ค ํด ์ˆ˜ ์—†๋‹ค.
  2. ์ฒ˜์Œ ์ฒซ๋ฒˆ์งธ ์†Œ์ˆ˜๋กœ ๋‚˜๋ˆŒ ๋•Œ, ํ•ด๋‹น ์†Œ์ˆ˜์˜ ์ œ๊ณฑ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉด ๋œ๋‹ค๋Š” ์ .
    (์ž์„ธํžˆ ์ƒ๊ฐํ•ด๋ณด๋ฉด ๋จผ์ € 2๋กœ ๋‚˜๋ˆŒ ๋•Œ - 2์˜ ์ œ๊ณฑ์ธ 4๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ 2์˜ ๋ฐฐ์ˆ˜๋“ค์€ ๋‹ค false๊ฐ€ ๋˜๊ณ  ์ดํ›„ 3์œผ๋กœ ํ•  ๋•, ๊ตณ์ด 6์„ ์ฒ˜๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๋ฏธ ๋‹ค 2์—์„œ ๊ฑธ๋Ÿฌ์ง, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค์Œ 5์ผ ๋•Œ๋„ 10, 15, 20์€ ์ด๋ฏธ ๋‹ค ๊ฑธ๋Ÿฌ์ง. ์ฆ‰ 5์˜ ์ œ๊ณฑ์ธ 25๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋ฉด ๋œ๋‹ค.