-
Python (알고리즘 백준 2581)Python/Python 알고리즘 2020. 2. 20. 15:01반응형
소수 성공
시간 제한메모리 제한제출정답맞은 사람정답 비율
1 초 128 MB 26524 10086 8892 39.225% 문제
자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오.
예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다.
입력
입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다.
M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다.
출력
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.
단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
예제 입력 1 복사
60 100
예제 출력 1 복사
620 61
예제 입력 2 복사
64 65
예제 출력 2 복사
-1
a = int(input()) b = int(input()) c = [] d = 0 a1 = 0 if a >= b: a1 = a a = b b = a1 for i in range(a, b+1): count = 0 for j in range(1, i+1): if i % j == 0: count += 1 if count == 2: c.append(i) d += i if len(c) == 0: c.append(-1) if c[0] == -1: print(c[0]) else: print(d) print(c[0])
반응형'Python > Python 알고리즘' 카테고리의 다른 글
Python 알고리즘 (파이썬 백준 1676) (0) 2020.03.20 Python 알고리즘 (파이썬 백준 2747) (0) 2020.03.20 Python (알고리즘 백준 1978) (0) 2020.02.19 Python (알고리즘 백준 2775) (0) 2020.02.11 Python (알고리즘 백준 10250) (0) 2020.02.11