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

 

2581번: 소수

M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다.  단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다.

www.acmicpc.net

 

소수 찾기 문제와 유사한데,

소수 중 최솟값을 구하고, 소수의 합을 구하는 문제이다.

 

 

소수찾기 문제와 유사하게

  1. 소수를 찾는다
  2. count가 1이거나 받은 소수가 1이 아니라면
    1. 첫 소수 변수가 0이라면 첫 소수를 넣고
    2. 소수 값 합을 더해준다.

코드보기↓

더보기
#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;
}

'Coding Test > Problem_solving' 카테고리의 다른 글

[백준] 9012_괄호  (0) 2021.02.18
[백준]9093_단어 뒤집기  (0) 2021.02.18
[백준] 4948_베르트랑 공준  (0) 2021.02.14
[백준]1929_소수 구하기  (0) 2021.02.13
[백준]1978_소수 찾기  (0) 2021.02.12

+ Recent posts