[C++] baekjoon 10871, 1978

oat·2024년 3월 14일

everydayBOJ

목록 보기
38/51

Day 38

10871

문제

code

#include <iostream>

using namespace std;

int main() {
    int N;
    int X;
    cin >> N >> X;
    
    for (int i = 0; i < N; i++) {
        int ans;
        cin >> ans;
        if (ans < X)
            cout << ans << " ";
    }
}

풀이 과정

for문을 통해 ans로 수를 N개만큼을 받고, 그중 X보다 작은 수를 공백을 사이에 두고 출력하였다


1978

문제

code

#include <iostream>

using namespace std;

int main() {
    int N;
    cin >> N;
    int num = 0;
    int ans;

    while (N--) {
        cin >> ans;

        if (ans == 1) continue;

        bool is_prime = true;
        for (int j = ans - 1; j > 1; j--) {
            if (ans % j == 0) {
                is_prime = false; 
                break;
            }
        }
        if (is_prime) num++;
    }
    cout << num;
    return 0;
}

풀이 과정

for문으로 작을 때부터 반복했더니 죽어도 안되길래 while로 큰 수부터 처리하였다
is_prime이 참일 때만 num++을 하도록 하여 소수의 개수를 출력하였다

0개의 댓글