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
๊ฐ์ธ์ ์ผ๋ก ์ํคํผ๋์๋ ์ข์ง๋ง, ์ ๋ฐ์ ์ธ ๊ฐ๋
์ ๋๋ฌด์ํค์์ ๋ ์ฝ๊ฒ ์ค๋ช
ํ๋ ๊ฒ ๊ฐ์ ์ฒจ๋ถํ๋ค.
๋ง๊ทธ๋๋ก ์ฒด๋ก ๊ฑฐ๋ฅด๋ฏ์ด ์์๊ฐ ์๋ ์ซ์๋ค์ ํํฐ๋งํ๋ ๊ฐ๋
์ด๋ค.
์ฌ๊ธฐ์ ์ค์ํ ํต์ฌ!
- a์์ b๊น์ง ์์๋ฅผ ์ฐพ๋๋ค๊ณ ํ ๋, ๋๋ ์ ์ฒดํฌํด์ผํ๋ ๊ฐ์ b์ ์ ๊ณฑ๊ทผ๋ณด๋ค ํด ์ ์๋ค.
- ์ฒ์ ์ฒซ๋ฒ์งธ ์์๋ก ๋๋ ๋, ํด๋น ์์์ ์ ๊ณฑ๋ถํฐ ์์ํ๋ฉด ๋๋ค๋ ์ .
(์์ธํ ์๊ฐํด๋ณด๋ฉด ๋จผ์ 2๋ก ๋๋ ๋ - 2์ ์ ๊ณฑ์ธ 4๋ถํฐ ์์ํด์ 2์ ๋ฐฐ์๋ค์ ๋ค false๊ฐ ๋๊ณ ์ดํ 3์ผ๋ก ํ ๋, ๊ตณ์ด 6์ ์ฒ๋ฆฌํ ํ์๊ฐ ์๋ค. ์ด๋ฏธ ๋ค 2์์ ๊ฑธ๋ฌ์ง, ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ 5์ผ ๋๋ 10, 15, 20์ ์ด๋ฏธ ๋ค ๊ฑธ๋ฌ์ง. ์ฆ 5์ ์ ๊ณฑ์ธ 25๋ถํฐ ์์ํ๋ฉด ๋๋ค.
'๐ JavaScript > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] 9020 (0) | 2022.05.23 |
---|---|
[JS] 4948 (0) | 2022.05.23 |
[JS] 11653 (0) | 2022.05.22 |
[JS] 2581 (0) | 2022.05.22 |
[JS] 1978 (0) | 2022.05.22 |