goodthings4me.tistory.com
파이썬 소수 찾기 문제를 3가지 방식으로 풀어서 소수 목록을 만들어 본다. 함수에 숫자를 넣으면 소수 여부를 판단해주거나 그 숫자까지의 소수를 찾아주거나 해당 수만큼 소수 목록을 찾아주는 간단한 예제 프로그램임
파이썬 소수 찾기 #1
숫자 하나를 함수의 인자로 넣으면 그 숫자의 소수 여부를 판단하여 알려준다.
def prime_num(n):
if n == 2:
print(f'{2}는 소수')
return True
for i in range(2, n):
if n % i == 0:
print(f'숫자 {n}은 {i}로 나누어 나머지가 0이 됨으로 소수 아님')
return False
print(f'숫자 {n}은 소수임')
return True # for문에서 return하지 않고 왔으면 소수이므로 True 리턴
prime_num(125)
[실행 결과]
숫자 125은 5로 나누어 나머지가 0이 됨으로 소수 아님
파이썬 소수 찾기 #2
주어진 숫자를 함수의 인자로 넣으면 그 수까지의 소수 목록을 출력한다.
def prime_num_count(n):
cnt = 0
for i in range(2, n + 1):
prime = True
for j in range(2, i + 1):
if i == 2:
break
if i > j and i % j == 0:
prime = False
break
else:
continue
if prime:
cnt += 1
print(i, end=' ')
print(f'\n숫자 {n}까지 소수의 개수는 {cnt}개임')
prime_num_count(200)
[실행 결과]
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
숫자 200까지 소수의 개수는 46개임
파이썬 소수 찾기 #3
이 문제는 네이버 지식에 있던 파이썬 소수 관련 코드로 주어진 숫자만큼 소수 개수를 찾아 목록으로 출력한다.
def find_prime_num_count(cnt):
N_PRIMES = cnt
number = 2
count = 0
print(f'소수 {cnt}개까지의 숫자는...')
while count < N_PRIMES :
divisor = 2
prime = True
while divisor < number :
if number % divisor == 0:
prime = False
break
divisor += 1
if prime:
count += 1
print(number, end=" ")
number += 1
find_prime_num_count(50)
[실행 결과
소수 50개까지의 숫자는...
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
뉴스픽 파트너스 기사 링크 주소 복사 (5) | 2022.04.10 |
---|---|
openpyxl 엑셀 파일 확장자(.xls) 에러 해결하는 방법 (0) | 2022.04.10 |
다음 영화 이미지 다운로드 - 지식인 문제 해결(파이썬 크롤링 문의) (0) | 2022.04.08 |
파이썬 GUI 모듈 tkinter 연습(쿠팡 파트너스 상품 링크 관리 프로그램 만들기) (0) | 2022.04.07 |
파이썬 truncate() 함수로 텍스트 파일 내용 삭제하기 (0) | 2022.04.07 |
댓글