https://www.acmicpc.net/problem/2581
2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net
더보기
#include<stdio.h>
#include<stdbool.h>
int main(){
int i, j, N, M, sum, min;
bool pri[10001];
pri[1] = false;
pri[2] = true;
for(i=3; i<=10000; i++){
if(i%2==0) pri[i]=false;
else pri[i]=true;
}
for(i=3; i<=10000; i=i+2){
if(pri[i]==false) continue;
else{
for(j=i*2; j<=10000; j+=i) {
pri[j] = false;
//printf("%d ",j);
}
}
}
scanf("%d", &M);
scanf("%d", &N);
sum = min = 0;
for(i=M; i<=N; i++){
if(pri[i]==false) continue;
else{
if(min==0) min = i;
sum += i;
}
}
if(sum!=0) printf("%d\n%d", sum, min);
else printf("-1");
return 0;
}
'프로그래밍 > 백준' 카테고리의 다른 글
백준 4948번: 베르트랑 공준 (C언어) (0) | 2020.04.01 |
---|---|
백준 1929번: 소수 구하기 (C언어) (0) | 2020.04.01 |
백준 1978번: 소수 찾기 (C언어) (0) | 2020.03.30 |
백준 2775번: 부녀회장이 될테야 (C언어) (0) | 2020.03.27 |
백준 10250번: ACM 호텔 (C언어) (0) | 2020.03.27 |