# getPrimes(num): num 이하 소수와 그 개수를 세는 함수
# getPrimesCount(num): num 이하 소수의 개수를 세는 함수
def isPrime(num):
root_val = round(num ** 0.5) # 제곱근 값을 구한다
for i in range(2, root_val+1): # 제곱근값+1 까지만 약수를 조사해도 충분하다
if num % i == 0: # 중간에 나눠지면 소수가 아니다
return False
return True
# 2 ~ num 까지의 소수 모두 구해서 리턴... 갯수도 리턴
def getPrimes(num):
lst = []
for i in range(2, num+1):
if isPrime(i):
lst.append(i)
return lst, len(lst)
def getPrimesCount(num):
count = 0
for i in range(2, num+1):
if isPrime(i):
count += 1
return count
print(getPrimes(10))
print(getPrimes(59))
rate = {}
for x in range(10, 100000, 1000):
phi_x = getPrimes(x)[1] #i 10, ... 4
rate[x] = round(phi_x/x, 6)
print(rate)
lst, _ = getPrimes(100)
카테고리 없음