본문 바로가기

코딩테스트/C++

백준 - 2581 소수 c++

www.acmicpc.net/problem/2581

 

2581번: 소수

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

www.acmicpc.net

 

#include <iostream>
#include <algorithm>
using namespace std;
int main() {
    int m, n;
    int ok = 0;
    int sum = 0;
    cin >> m >> n;
    int sol = n;
    for (int i = m; i <= n; i++) {
        ok = 0;
        if (i == 1) continue;
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                ok = 1;
                break;
            }
        }
        if (ok == 0) {
            sol = min(sol, i);
            sum += i;
        }
        
    }
    if (sum == 0) cout << -1;
    else cout << sum << "\n" << sol;
    return 0;
}

'코딩테스트 > C++' 카테고리의 다른 글

백준 - 1292 c++  (0) 2021.03.30
백준 - 1978 c++  (0) 2021.03.30
백준 - 2075 c++  (0) 2021.03.30
백준 - 2609 c++  (0) 2021.03.30
백준 - 2309 c++  (0) 2021.03.30