728x90
✏️ 문제
https://www.acmicpc.net/problem/2581
2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net
✏️ 풀이방법
1. 특정범위안의 소수를 찾아서 리스트(prime)에 담는다.
2. 리스트(prime)의 총합을 구한다.
3. 소수가 없는 경우에는 -1을 출력해야하기 때문에 리스트(prime)의 길이가 0이면 소수가 없는것을 활용했다.
📌 코드
m = int(input())
n = int(input())
# m이상 n이하의 자연수
nums = [int(i) for i in range (m,n+1)]
# 소수찾기(1과 자기자신만을 약수로 갖는 수)
prime = []
for i in nums:
for j in range(2,i+1):
if i % j ==0:
if i == j:
prime.append(j)
break
if len(prime) == 0:
print(-1)
else:
print(sum(prime))
print(prime[0])
m = int(input())
n = int(input())
prime = []
for i in range(m,n+1):
divisor = []
if i == 1:
continue
for j in range(1,i+1):
if i % j == 0:
divisor.append(i)
if len(divisor) == 2:
prime.append(i)
if len(prime) == 0:
print(-1)
else:
print(sum(prime))
print(prime[0])
m = int(input())
n = int(input())
# m이상 n이하의 자연수
nums = [int(i) for i in range (m,n+1)]
# 소수찾기(1과 자기자신만을 약수로 갖는 수)
prime = []
for i in nums:
for j in range(2,i+1):
if i % j ==0:
if i == j:
prime.append(j)
break
if len(prime) == 0:
print(-1)
else:
print(sum(prime))
print(prime[0])
📌 결과
#입력
60
100
#출력
620
61
#입력
64
65
#출력
-1
🤔 시행착오.1
m = int(input())
n = int(input())
# m이상 n이하의 자연수
nums = [int(i) for i in range (m,n+1)]
# 소수찾기(1과 자기자신만을 약수로 갖는 수)
prime = []
for i in nums:
for j in range(2,i+1):
if i % j ==0:
if i == j:
prime.append(j)
break
print(sum(prime))
print(prime[0])
m = int(input())
n = int(input())
prime = []
for i in range(m,n+1):
divisor = []
if i == 1:
continue
for j in range(1,i+1):
if i % j == 0:
divisor.append(i)
if len(divisor) == 2:
prime.append(i)
print(sum(prime))
print(prime[0])
m = int(input())
n = int(input())
# m이상 n이하의 자연수
nums = [int(i) for i in range (m,n+1)]
# 소수찾기(1과 자기자신만을 약수로 갖는 수)
prime = []
for i in nums:
for j in range(2,i+1):
if i % j ==0:
if i == j:
prime.append(j)
break
print(sum(prime))
print(prime[0])
- 출력시 -1 코드 작성 안해서 런타임에러
📝 메모
- 문제풀이 시 입출력 확인 꼼꼼하게 하기
📒 다시보기
백준[1978.소수 찾기] | Python
✏️ 문제 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net ✏️ 풀이방
somin0416.tistory.com
'Python > online judge' 카테고리의 다른 글
백준 [2750.수 정렬하기] | Python (0) | 2024.01.10 |
---|---|
백준 [11653.소인수분해] | Python (0) | 2024.01.10 |
백준 [1978.소수 찾기] | Python (1) | 2024.01.04 |
백준 [9506.약수들의 합] | Python (0) | 2024.01.04 |
백준 [2903.중앙 이동 알고리즘] | Python (0) | 2023.12.28 |