백준 1929 파이썬
2023. 1. 26. 16:55ㆍ백준 알고리즘
https://www.acmicpc.net/problem/1929
1929번: 소수 구하기
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
www.acmicpc.net
first_num, second_num = map(int,input().split())
for i in range(first_num, second_num + 1):
if i == 1:
continue
for j in range(2,int(i**0.5)+1):
if i % j == 0:
break
else:
print(i)
실버3에 해당하는 문제로, 생각보다는 까다롭고 어렵다.
먼저, 나는 숫자 2개를 받아준 다음, for 문을 만들어 숫자 중 1이 포함되어 있으면 continue를 시켰다.
더불어, 소수를 구하는 방법에서는 2부터, 그 수에 루트를 씌운 다음, 1을 더해준 숫자 다시 한번 for 문을 만들었다.
소수는 1과 자기 자신밖에 약수를 가지지 않아서 만약 (2, n**0.5 + 1) 사이의 숫자 중 약수를 가지는 것이 있다면, 그 수는 소수가 아닌 것이다. 이러한 방식으로 코드를 짰고, 답을 찾았다.
'백준 알고리즘' 카테고리의 다른 글
백준 2751 파이썬 (0) | 2023.01.26 |
---|---|
백준 2839 파이썬 (1) | 2023.01.26 |
백준 3052 파이썬 (0) | 2023.01.24 |
백준 1157 파이썬 (0) | 2023.01.24 |
백준 1152 파이썬 (0) | 2023.01.24 |