1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요.
소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.
(1은 소수가 아닙니다.)
제한 사항
⦁ n은 2이상 1000000이하의 자연수입니다.
import math def numberOfPrime(n): prime = [True] * (n+1) prime[0] = False prime[1] = False m = int(math.sqrt(n)) for i in range(2, m + 1): if prime[i] == True: for j in range(i+i, n+1, i): prime[j] = False return prime.count(True)
def numberOfPrime(n): num=set(range(2,n+1)) for i in range(2,n+1): if i in num: num-=set(range(2*i,n+1,i)) return len(num)
⦁ 아리스토텔레스의 체를 이용
⦁ 집합(set)의 차집합