λͺ©μ°¨
μλΌν μ€ν λ€μ€μ 체: μνκ³Ό μ»΄ν¨ν° κ³Όνμμμ μ€μμ±
μνκ³Ό κ³ λ μμ¬μμμ μλΌν μ€ν λ€μ€μ 체
μλΌν μ€ν λ€μ€μ 체λ κ³ λ κ·Έλ¦¬μ€ μνμ μλΌν μ€ν λ€μ€κ° λ°κ²¬ν μμλ₯Ό μ°Ύλ λ°©λ²μΌλ‘, κ°λ¨νλ©΄μλ ν¨μ¨μ μΈ μκ³ λ¦¬μ¦μΌλ‘ μλ €μ Έ μμ΅λλ€. μ΄ λ°©λ²μ μ ν΄μ§ λ²μ μμ λͺ¨λ μμλ₯Ό μ°ΎκΈ° μν΄, 2λΆν° μμνμ¬ κ·Έ λ°°μλ₯Ό μ§μλκ°λ κ³Όμ μ λ°λ³΅νλ κ²μ λλ€. μλ₯Ό λ€μ΄, 2μ λ°°μλ₯Ό λͺ¨λ μ§μ°κ³ , λ€μμΌλ‘ λ¨μ κ°μ₯ μμ μμΈ 3μ λ°°μλ₯Ό μ§μλλ€. μ΄λ¬ν κ³Όμ μ λ°λ³΅νλ©΄ κ²°κ΅ λ¨λ μλ€μ΄ λ°λ‘ μμκ° λ©λλ€.
μ΄ μκ³ λ¦¬μ¦μ λ¨μν¨μλ λΆκ΅¬νκ³ λ§€μ° μ€μν μλ―Έλ₯Ό κ°μ§λλ€. μμλ μνμ λ€μν λΆμΌλΏλ§ μλλΌ μνΈνμμλ λ§€μ° μ€μν μν μ ν©λλ€. λ°λΌμ, ν¨μ¨μ μΌλ‘ μμλ₯Ό μ°Ύλ λ°©λ²μ κ³ λλΆν° νλμ μ΄λ₯΄κΈ°κΉμ§ μ¬λ¬ λΆμΌμμ μμ©λ©λλ€.
μ»΄ν¨ν° κ³Όνμμμ μλΌν μ€ν λ€μ€μ 체μ μμ©
μ»΄ν¨ν° κ³Όνμμ μλΌν μ€ν λ€μ€μ 체λ μκ³ λ¦¬μ¦μ κΈ°μ΄μ μΈ μμλ‘ μμ£Ό μ¬μ©λ©λλ€. νΉν, νλ‘κ·Έλλ°μ λ°°μ°λ νμλ€μκ² λ°λ³΅λ¬Έκ³Ό 쑰건문μ μ¬μ©μ κ°λ₯΄μΉλλ° μ μ©νκ² μ°μ λλ€. λν, μ΄ μκ³ λ¦¬μ¦μ μ»΄ν¨ν°κ° νΉμ λ²μ λ΄μ μμλ₯Ό λΉ λ₯΄κ³ ν¨μ¨μ μΌλ‘ μ°Ύλ λ°μλ μ°μ λλ€.
μνΈνμμλ λκ·λͺ¨ μμλ₯Ό μ°Ύλ κ²μ΄ μ€μν©λλ€. μ΄λ κ³΅κ° ν€ μνΈν, λμ§νΈ μλͺ λ±μμ νμμ μΈ μμμ λλ€. μλΌν μ€ν λ€μ€μ 체λ μ΄λ¬ν ν° μμλ₯Ό μ°Ύλ μ΄κΈ° λ¨κ³μμ νμ©λ μ μμΌλ©°, μ»΄ν¨ν° μκ³ λ¦¬μ¦μ ν¨μ¨μ±μ λμ΄λ λ° κΈ°μ¬ν©λλ€.
μλΌν μ€ν λ€μ€μ 체μ νκ³μ νλμ μμ©
λΉλ‘ μλΌν μ€ν λ€μ€μ μ²΄κ° ν¨μ¨μ μΈ λ°©λ² μ€ νλμ§λ§, λ§€μ° ν° μμ λν΄μλ μκ°κ³Ό λ©λͺ¨λ¦¬ λ©΄μμ νκ³λ₯Ό κ°μ§κ³ μμ΅λλ€. μ΄λ₯Ό κ°μ νκΈ° μν΄ νλμ μ»΄ν¨ν° κ³Όνμλ€μ μ¬λ¬ κ°μ§ μ΅μ ν κΈ°λ²μ λμ νκ³ μμ΅λλ€. μλ₯Ό λ€μ΄, λ©λͺ¨λ¦¬ μ¬μ©μ μ€μ΄κΈ° μν΄ λΉνΈλ§΅μ μ¬μ©νκ±°λ, λ³λ ¬ μ²λ¦¬λ₯Ό ν΅ν΄ κ³μ° μλλ₯Ό λμ΄λ λ°©λ² λ±μ΄ μμ΅λλ€.
μ΄λ¬ν μ΅μ νλ₯Ό ν΅ν΄ μλΌν μ€ν λ€μ€μ 체λ λμ©λ λ°μ΄ν°λ₯Ό μ²λ¦¬νλ λΉ λ°μ΄ν° λΆμμ΄λ, 볡μ‘ν μνΈ μκ³ λ¦¬μ¦μμλ μ¬μ ν μ μ©νκ² μ¬μ©λ©λλ€. λ°λΌμ, μ΄ κ³ λμ μκ³ λ¦¬μ¦μ΄ νλ κΈ°μ κ³Ό κ²°ν©νμ¬ μλ‘μ΄ κ°μΉλ₯Ό μ°½μΆνκ³ μμ΅λλ€.
μλΌν μ€ν λ€μ€μ 체λ κ³ λ κ·Έλ¦¬μ€ μλμ λ°κ²¬λ κ°λ¨νλ©΄μλ ν¨μ¨μ μΈ μμ μ°ΎκΈ° μκ³ λ¦¬μ¦μ λλ€. μ΄ λ°©λ²μ μνκ³Ό μ»΄ν¨ν° κ³Όν, νΉν μνΈνμμ μ€μν μν μ νλ©°, μ€λλ μλ μ¬μ ν κ΄λ²μνκ² μμ©λκ³ μμ΅λλ€. νλ κΈ°μ μ λ°μ κ³Ό ν¨κ» μ΅μ νλμ΄ κ°λ©΄μ, μ΄ κ³ λμ μ§νλ λμ± λ°μ λ ννλ‘ μ°λ¦¬ μΆ μμ μ€λ©°λ€κ³ μμ΅λλ€.
μλΌν μ€ν λ€μ€μ 체λ₯Ό νμ©ν JS μμ μ°ΎκΈ° λ‘μ§ κ΅¬ννκΈ°
μλΌν μ€ν λ€μ€μ 체λ μνμ μκ³ λ¦¬μ¦ μ€ νλλ‘, νΉμ λ²μ λ΄μμ λͺ¨λ μμλ₯Ό μ°Ύλ λ° μ¬μ©λ©λλ€. μ΄ μκ³ λ¦¬μ¦μ κ³ λ κ·Έλ¦¬μ€ μνμ μλΌν μ€ν λ€μ€κ° λ§λ€μμΌλ©°, ν¨μ¨μ μΈ μμ μ°ΎκΈ° λ°©λ²μΌλ‘ λ리 μλ €μ Έ μμ΅λλ€. μ¬κΈ°μλ μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νμ¬ μλΌν μ€ν λ€μ€μ 체 μκ³ λ¦¬μ¦μ ꡬννλ λ°©λ²μ μκ°νκ² μ΅λλ€.
μλΌν μ€ν λ€μ€μ 체 μκ³ λ¦¬μ¦ μ΄ν΄νκΈ°
μλΌν μ€ν λ€μ€μ 체 μκ³ λ¦¬μ¦μ λ€μκ³Ό κ°μ λ¨κ³λ‘ μμλ₯Ό μ°Ύμ΅λλ€:
- λͺ¨λ μ«μλ₯Ό μμλ‘ κ°μ ν©λλ€.
- 2λΆν° μμνμ¬, νΉμ μ«μμ λ°°μλ€μ λͺ¨λ μμκ° μλ κ²μΌλ‘ νμν©λλ€.
- λ€μ μμλ₯Ό μ°Ύμ κ·Έ λ°°μλ€μ μ κ±°ν©λλ€.
- μ΄ κ³Όμ μ λ°λ³΅νμ¬ μμλ§ λ¨κΉλλ€.
μλ°μ€ν¬λ¦½νΈλ‘ μλΌν μ€ν λ€μ€μ 체 ꡬννκΈ°
μλ°μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νμ¬ μ΄ μκ³ λ¦¬μ¦μ ꡬννλ κ²μ λΉκ΅μ κ°λ¨ν©λλ€. μλλ κΈ°λ³Έμ μΈ κ΅¬ν λ°©λ²μ λλ€:
function findPrimes(n) {
let array = [], upperLimit = Math.sqrt(n), output = [];
// λ°°μ΄μ μ΄κΈ°νν©λλ€
for (let i = 0; i < n; i++) {
array.push(true);
}
// μλΌν μ€ν
λ€μ€μ 체 μκ³ λ¦¬μ¦ μ μ©
for (let i = 2; i <= upperLimit; i++) {
if (array[i]) {
for (let j = i * i; j < n; j += i) {
array[j] = false;
}
}
}
// μμλ₯Ό λ°°μ΄μ μΆκ°
for (let i = 2; i < n; i++) {
if(array[i]) {
output.push(i);
}
}
return output;
}
// μμ: 30κΉμ§μ μμ μ°ΎκΈ°
console.log(findPrimes(30));
μκ³ λ¦¬μ¦ μ΅μ ν
μ΄ κΈ°λ³Έ μκ³ λ¦¬μ¦μ μμ μ«μμ λν΄μλ μ μλνμ§λ§, λ§€μ° ν° μ«μ λ²μμ λν΄μλ λΉν¨μ¨μ μΌ μ μμ΅λλ€. μ±λ₯μ ν₯μμν€κΈ° μν΄ λ€μκ³Ό κ°μ μ΅μ νλ₯Ό κ³ λ €ν μ μμ΅λλ€:
- λ©λͺ¨λ¦¬ μ¬μ©λμ μ€μ΄κΈ° μν΄ λΉνΈ μ°μ°μ μ¬μ©ν μ μμ΅λλ€.
- λ©ν° μ€λ λ©μ΄λ μΉ μ컀λ₯Ό μ¬μ©νμ¬ κ³μ°μ λ³λ ¬ μ²λ¦¬ν μ μμ΅λλ€.
- λ°°μ΄ λμ λ€λ₯Έ μλ£κ΅¬μ‘°λ₯Ό μ¬μ©νμ¬ λ©λͺ¨λ¦¬ μ κ·Ό μκ°μ μ΅μ νν μ μμ΅λλ€.
μλΌν μ€ν λ€μ€μ 체λ μμλ₯Ό μ°Ύλ κ°λ ₯νκ³ ν¨μ¨μ μΈ λ°©λ²μ λλ€. μλ°μ€ν¬λ¦½νΈλ₯Ό μ΄μ©ν ꡬνμ κ°λ¨νλ©°, νμμ λ°λΌ λ€μν μ΅μ νλ₯Ό μ μ©ν μ μμ΅λλ€. μ΄ μκ³ λ¦¬μ¦μ νμ©νμ¬ λ€μν μνμ λ¬Έμ ν΄κ²°μ λμ ν΄λ³΄μΈμ.
ν€μλ
- μλΌν μ€ν λ€μ€μ 체, μλ°μ€ν¬λ¦½νΈ, μμ μ°ΎκΈ°, μκ³ λ¦¬μ¦, μ΅μ ν, λ©λͺ¨λ¦¬ μ¬μ©, λ³λ ¬ μ²λ¦¬, μλ£κ΅¬μ‘°, μνμ λ¬Έμ ν΄κ²°, νλ‘κ·Έλλ°.
ν€μλ
- μλΌν μ€ν λ€μ€μ 체, μμ μ°ΎκΈ°, μκ³ λ¦¬μ¦, μν, μ»΄ν¨ν° κ³Όν, μνΈν, νλ‘κ·Έλλ° κ΅μ‘, μ΅μ ν κΈ°λ², λΉ λ°μ΄ν°, κ³ λ 그리μ€
λκΈ