Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 알고리즘 분석의 실례
- Big Omega
- linear dependence
- python
- recursive algorithms
- itertools
- 빅오메가
- 일차변환
- Big Theta
- 빅오 표기법
- Big-O 예제
- 재귀함수
- homogeneous linear system
- matrix trnasformations
- one-to-one
- Big-Oh 예제
- 이진 탐색
- matrix fo a linear transformation
- nonhomogeneous linear system
- 랜덤 순서 배열
- trivial solution
- Big-Oh notation
- NumPy
- 페이지 겹칩
- nontrivial solution
- 코틀린 Hello World!
- 코틀린 시작하기
- includepdf
- 빅세타
- 배열 섞기
Archives
- Today
- Total
코딩 연습
(파이썬) 소수판정 본문
반응형
import math
def primecheck(n):
if n == 2 or n == 3:
return True
if n % 2 == 0 or n == 1:
return False
for i in range(3, int(math.sqrt(n)) + 1, 2):
if n % i == 0:
return False
return True
if __name__ == "__main__":
yn = "y"
while yn == "y" or yn == "Y":
n=input("소수인지 확인하고 싶은 수는? ")
if primecheck(int(n)):
print("%d는(은) 소수입니다." % int(n))
else:
print("%d는(은) 합성수입니다." % int(n))
yn = input("계속 확인하시겠습니까?(y/n)")
일단 1 은 소수가 아니고 2 와 3은 소수임을 알려 준다.
2 를 제외한 모든 소수는 홀수 이므로 2 의 배수는 소수가 아님을 알려 준다.
2 의 배수가 아닌 수 n 에 대해서는 3 부터 [√n] 까지의 수 중 홀수들로 n 을 나누어 보아 나누어 떨어지는 것이 있으면 n 은 소수가 아닌 것으로, 나누어 떨어지는 것이 없으면 n 은 소수로 판정한다. (단, [x] 는 x 보다 크지 않은 최대 정수를 나타낸다.)
[√n] 보다 큰 수 중 나누어 떨어지는 것이 있다는 것은 그 몫이 반드시 √n 보다 작은 쪽에 있을 것이기 때문에, [√n] 보다 큰 수에 대해서는 생각할 필요가 없다.
반응형
'Python' 카테고리의 다른 글
(파이썬) 최대공약수 구하기 (0) | 2016.03.15 |
---|---|
(파이썬) 완전제곱수 판별 (0) | 2016.03.15 |
(파이썬) 소인수 분해 (0) | 2016.03.15 |
(파이썬) 모든 조합의 경우 나열하기 (0) | 2016.03.15 |
(파이썬) 소수 발생기 (0) | 2016.03.15 |
Comments