[Python] λ°±μ€ - 4948 λ² λ₯΄νΈλ 곡μ€
λ¬Έμ
https://www.acmicpc.net/problem/4948
πΉ λ¬Έμ
λ² λ₯΄νΈλ 곡μ€μ μμμ μμ°μ nμ λνμ¬, nλ³΄λ€ ν¬κ³ , 2nλ³΄λ€ μκ±°λ κ°μ μμλ μ μ΄λ νλ μ‘΄μ¬νλ€λ λ΄μ©μ λ΄κ³ μλ€.
μ΄ λͺ μ λ μ‘°μ ν λ² λ₯΄νΈλμ΄ 1845λ μ μΆμΈ‘νκ³ , ννλν° μ²΄λΉμΌνκ° 1850λ μ μ¦λͺ νλ€.
μλ₯Ό λ€μ΄, 10λ³΄λ€ ν¬κ³ , 20λ³΄λ€ μκ±°λ κ°μ μμλ 4κ°κ° μλ€. (11, 13, 17, 19) λ, 14λ³΄λ€ ν¬κ³ , 28λ³΄λ€ μκ±°λ κ°μ μμλ 3κ°κ° μλ€. (17,19, 23)
μμ°μ nμ΄ μ£Όμ΄μ‘μ λ, nλ³΄λ€ ν¬κ³ , 2nλ³΄λ€ μκ±°λ κ°μ μμμ κ°μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
πΉ μ λ ₯
μ λ ₯μ μ¬λ¬ κ°μ ν μ€νΈ μΌμ΄μ€λ‘ μ΄λ£¨μ΄μ Έ μλ€. κ° μΌμ΄μ€λ nμ ν¬ν¨νλ ν μ€λ‘ μ΄λ£¨μ΄μ Έ μλ€.
μ λ ₯μ λ§μ§λ§μλ 0μ΄ μ£Όμ΄μ§λ€.
πΉ μΆλ ₯
κ° ν μ€νΈ μΌμ΄μ€μ λν΄μ, nλ³΄λ€ ν¬κ³ , 2nλ³΄λ€ μκ±°λ κ°μ μμμ κ°μλ₯Ό μΆλ ₯νλ€.
νμ΄ λ°©λ²
πΉ μν
πΉ μμ νμ
ꡬν μ½λ
import sys
def sosu(n):
import math
for i in range(2,int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
inputs = []
while True:
n = int(sys.stdin.readline())
if n==0:
break
inputs.append(n)
sosu_chk = [0 for _ in range(2*max(inputs)+1)]
for i in range(1,2*max(inputs)+1):
if sosu(i):
sosu_chk[i] = 1
for num in inputs:
print(sum(sosu_chk[num+1:2*num+1]))
μ€ν κ²°κ³Ό
π‘