알고리즘(python)/수학

[Python]수학2 백준 2581

개발일기 2019. 12. 20. 20:02
반응형

문제

https://www.acmicpc.net/problem/2581


이전 소수 문제랑 유사하다고 볼수있다.

범위가 정해져 있다면 에라토스테네스의 체를 이용해 구하면된다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import sys
 
 
prime_number=[2 for _ in range(10001)]
 
for i in range(1,10001):
 
    if i==1:
        prime_number[i]=0
    elif prime_number[i]!=0:
        prime_number[i]=1
        mul = 2
        j = i
        while(j*mul<=10000):
            prime_number[j*mul]=0
            mul+=1
 
 
n=int(sys.stdin.readline())
m=int(sys.stdin.readline())
 
result_sum=0
result_min=999999
for i in range(n,m+1):
    if prime_number[i]==1:
        result_sum+=i
        if i<result_min:
            result_min=i
 
if result_sum==0:
    print(-1)
else:
    print(result_sum)
    print(result_min)
cs



앞의 문제와 동일하고 출력부분만 수정해 주었다.





반응형