728x90
def is_prime(num):
if num == 1 or num == 0:
return False
else:
n = int(num ** 0.5)
for i in range(2, n + 1):
if num % i == 0:
return False
return True
주어진 수 num에 대해 sqrt(num) 까지에 대해서만 검사하면, 이 num이 소수인지를 판별하는데에 문제가 없다.
이렇게 하면 큰 수에 대해 루프 시간을 num^0.5까지만큼 단축할 수 있다!
- 1과 0은 소수가 아니므로 제외한다.
'프로그래밍 > 기억노트' 카테고리의 다른 글
[python] 진행 방향 시계,반시계 방향 꺾기 돌리기 (0) | 2020.09.01 |
---|---|
[python] 2차원 리스트 90도 돌리기 (0) | 2020.08.31 |
[python] sort 를 할 때 2개의 key 를 서로 다른 순서로 정렬하기 (2 key 2 order) (0) | 2020.08.25 |
[python] 입력받은 문자열 개행 지우기와 그 중요성 (0) | 2020.08.15 |
[python] 개행/줄바꿈 없이 print 하기 (0) | 2020.08.11 |