You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
defisPrime(number):
if (number<2):
returnFalseforiinrange(2, math.ceil(number/2)+1):
if (number%i==0):
returnFalsereturnTrue
소수 판별 방법2: 시간복잡도 O(log N)
defisPrime(number):
if (number<2):
returnFalsei=2while (i*i<=number):
if (number%i==0):
returnFalsei+=1returnTrue
에라토스테네스의 체: 소수 그룹 찾기
defsolution(number):
# 처음엔 모든 수가 소수(True)인 것으로 초기화(0과 1은 제와)array= [Trueforiinrange(number+1)]
# 에라토스테네스의 체 알고리즘foriinrange(2, int(math.sqrt(number)) +1): # 2부터 n의 제곱근까지의 모든 수를 확인하며ifarray[i] ==True: # i가 소수인 경우(남은 수인 경우)# i를 제외한 i의 모든 배수를 지우기j=2whilei*j<=number:
array[i*j] =Falsej+=1returnarrayarray=solution(100)
# 필요한 소수 범위 출력하기foriinrange(60, 101):
ifarray[i]:
print(i, end=" ")
The text was updated successfully, but these errors were encountered:
단계 설명
문제 / 코드보기
새로 알게된 점
소수 판별 방법1: 시간복잡도 O(N) 절반으로 줄이기
소수 판별 방법2: 시간복잡도 O(log N)
에라토스테네스의 체: 소수 그룹 찾기
The text was updated successfully, but these errors were encountered: