728x90
반응형
문제
자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.
예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다.
코딩
M=int(input())
N=int(input())
def findprime(num):#소수 판별하는 함수
if num==1:
return 0
if num==2:
return 1
a=int(num/2)
for x in range(2,a+1):
if num%x==0:
return 0
return 1
def totalprime(m,n):#소수 합, 최소값 구하는 함수
total=0
min_num=0
for x in range(m,n+1):
if findprime(x):
total+=x
if not min_num or min_num>x:
min_num=x
if not total:
print(-1)
else:
print(total)
print(min_num)
totalprime(M,N)
728x90
반응형
'Coding 문제 풀이' 카테고리의 다른 글
| [10828번]스택 코딩 (0) | 2018.12.17 |
|---|---|
| [1929번]소수 구하기 코딩 (0) | 2018.12.17 |
| [6064번]카잉 달력 코딩 (2) | 2018.12.17 |
| [1475번] 방 번호 (0) | 2018.12.17 |
| [2775번]부녀회장이 될테야 코딩 (1) | 2018.12.17 |