Coding Test/Problem_solving
[백준]2581_소수
Blueberry_Child
2021. 2. 12. 03:19
https://www.acmicpc.net/problem/2581
2581번: 소수
M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.
www.acmicpc.net
소수 찾기 문제와 유사한데,
소수 중 최솟값을 구하고, 소수의 합을 구하는 문제이다.
소수찾기 문제와 유사하게
- 소수를 찾는다
- count가 1이거나 받은 소수가 1이 아니라면
- 첫 소수 변수가 0이라면 첫 소수를 넣고
- 소수 값 합을 더해준다.
코드보기↓
더보기
#include <stdio.h>
int main() {
int start, end;
int count = 0;
int frist = 0;
int sum = 0;
scanf("%d %d", &start,&end);
for (; start <= end; start++) {
count = 0;
for (int i = 2; i <= start; i++) {
if (start % i == 0) {
count++;
if (count > 2)
break;
}
}
if (count == 1 && start != 1) {
if(frist == 0)
frist = start;
sum += start;
}
}
if (sum == 0)
printf("-1");
else {
printf("%d\n%d", sum,frist);
}
return 0;
}