νλ‘κ·Έλλ¨Έμ€ μμ μ°ΎκΈ° level2 νμ΄κ³Όμ κ³Ό κ³ λ―Ό ( μ λ΅ μ½λ μμ )
μμλ₯Ό νλ¨νλ €λ©΄ λ¨μ 무μνκ² 2λΆν° νλ¨νλ €λ μ«μn-1 κΉμ§ λ°λ³΅λ¬Έμ λλ©΄μ nμ λλμ΄μ μμμΈμ§ νλ¨μ νλ€.
μ΄λ»κ² νλ©΄ λ μκ°μ μ€μΌ μ μμκΉ κ³ λ―Όνλ€κ° λ μκ°μ΄ νλ¬ν μ«μμ μ λ°μ λμ μλ μ λ μ½μκ° λ μ μλ€λκ² μκ°μ΄ λ¬λ€.
κ·Έλμ λ°λ³΅λ¬Έμ νμλ₯Ό λ°μ μ€μΌ μ μλ€.
νμ§λ§ μμλ μμ§μ λΆμ‘±νλ€.
μ΄μ μ μλ£κ΅¬μ‘°κ³΅λΆν λ μμ ꡬνλ μκ³ λ¦¬μ¦μ λ°°μ΄κ² μκ°μ΄λμ μ±
μ μ΄ν΄λ΄€λλ° λλλ €λ μ«μμ μ κ³±κ·Ό λ°μΌλ‘ λλλ€λ κ°λ
μ μκ² λλ€.
μ κ³±μ λ°μΌλ‘λ§ λλλ©΄ μμμΈμ§ νλ¨μ ν μ μλ€λ κ±Έ μκ² λκ³
νμ΄μ¬μμ μ κ³±κ·Όμ ꡬνλ λͺ¨λμ κ²μν΄μ μκ² λλ€.
μκ°λ³΅μ‘λλ O(βn)μ΄ λλ€.
import math
math.sqrt()
sqrt()λ₯Ό νμ©ν΄μ μ κ³±κ·Όμ ꡬν μ μκ² λλ€.
def sosu(n):
if n < 2:
return False
num = int(math.sqrt(n)) + 1
for i in range(2, num):
if n % i == 0:
return False
return True
permutations(number, i) ν¨μλ μΈμμ μμ΄λ‘ λ§λ€ μ«μμ μ리μ(i)λ₯Ό λ겨주면 μ΄ν°λ μ΄λΈ κ°μ²΄λ‘ λ°ννκ³ λ°λ³΅λ¬Έ λλ €μ κΊΌλ΄λ³΄λ©΄ ννλ‘ λμ¨λ€. ννμ κ° μ«μλ λ¬Έμμ΄λ‘ λ°νλκΈ° λλ¬Έμ intν¨μλ₯Ό μ¨μΌνλ€.
λ°©λ²λ§ μμμΌλ©΄ λλ¨Έμ§λ₯Ό νμμ΄μΌ νλλ° λ무 μ§μ³μ νμ΄ κ³Όμ κΉμ§ λ³΄κ³ νμλ€.
setν¨μλ₯Ό μ¬μ©ν΄μ λ°νλ κ°μ 리μ€νΈλ‘ λ§λ€μ΄μ 013 κ³Ό 13κ°μ μ«μλ₯Ό λμΌνκ² μ²λ¦¬νλ€.
λΉλ‘ λ λͺ»νμμ§λ§ λ€μν λ°©λ²μ μμκ°λ€ μκ°νκ³ ν¬κΈ°νμ§λ§κ³ μ΄μ¬ν νμ!
μ½λλ κΉν μ°Έμ‘°