반응형
문제
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 |
앞의 문제와 동일하고 출력부분만 수정해 주었다.
반응형
'알고리즘(python) > 수학' 카테고리의 다른 글
[Python]수학2 백준 4948 (0) | 2019.12.20 |
---|---|
[Python]수학2 백준 1929 (0) | 2019.12.20 |
[Python]수학2 백준 1978 (0) | 2019.12.20 |
[Python]수학 백준 1011 (0) | 2019.12.20 |
[Python]수학 백준 2775 (0) | 2019.12.20 |
최근댓글