Front-end Developer
백준 알고리즘 1929 [파이썬] 본문
배운 내용
1. 이번 알고리즘 문제에서 return을 처음 써봤는데, return은 함수 안에서만 쓸 수 있다는것을 깨달았다. 밑에 함수를 보면 if isPrime(k): print(k)에서 isPrime에 True가 return이되면 print(k)가 실행된다.
2. 또 처음시도한것은 함수(def)를 만들어서 문제를 풀어보았다. 함수를 이용했을 때 코드를 더 읽기 좋았던것 같고 True, False를 사용할 수 있어서 간편했다.
3. 이 문제는 소수에대한 개념이 있어야 풀 수 있는 문제인것 같다.
문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
문제풀이
# 소수 찾는 공식
# 1과 해당 숫자 사이에 값중에 해당 숫자랑 나눴을 때 나머지가 없으면
# 제곱근을 사용해서 반복문의 범위를 좁힌다.
import math
def isPrime(i):
if i > 1:
j = int(math.sqrt(i))
for x in range(2, j+1):
if i % x == 0:
return False
return True
M,N = map(int ,input().split())
for k in range(M, N+1):
# isPrime(k) == True: 가 생략되어있다.
if isPrime(k):
print(k)
'알고리즘' 카테고리의 다른 글
백준 알고리즘 11651 [파이썬] (0) | 2021.03.09 |
---|---|
백준 알고리즘 11729 [파이썬] (0) | 2021.03.09 |
백준 알고리즘 1157 [파이썬] (0) | 2021.03.06 |
백준 알고리즘 4344번 [파이썬] (2) | 2021.03.06 |
알고리즘 : 정렬(Sort), 탐색(Search) (0) | 2021.02.23 |
Comments