728x90
https://www.acmicpc.net/problem/1929
1929번: 소수 구하기
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
www.acmicpc.net
# 1929번 문제 : 소수 찾기
# 주어진 두 수 사이의 소수를 모두 출력하는 문제
import math
def sosu(num): # 소수를 구하는 함수
if (num==1):
return False
for j in range(2,int(math.sqrt(num)+1)): # 2*4,4*2 처럼 반대되는건 굳이 필요없는 반복임으로 제곱근까지만 반복
if(num%j==0):
return False # 2~j사이에 딱맞게 나누어지는 수가 있다면 소수가 아니다
return True
n,m=map(int,input().split())
for i in range(n,m+1):
if(sosu(i)): # 소수함수에서 True받은것만 출력
print(i)
단순 소수 찾기로는 마지막 문제가 될거같은데 한번 풀고 비슷한 문제에서 1번만 꼬아도 쉽게 풀지못해서 반복학습 느낌으로 풀어봤다
728x90
'알고리즘' 카테고리의 다른 글
| 백준의 알고리즘 2775번 문제(python) (0) | 2021.06.18 |
|---|---|
| 백준의 알고리즘 9020번 문제(python) (0) | 2021.06.17 |
| 백준의 알고리즘 4948번 문제(python) (0) | 2021.06.14 |
| 백준의 알고리즘 11653번 문제(python) (0) | 2021.06.13 |
| 백준의 알고리즘 2581번 문제(python) (0) | 2021.06.12 |