[#51][알고리즘] 소수 찾기

백준 > 소수 찾기

문제 링크(https://www.acmicpc.net/problem/1978)

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

입력

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

출력

주어진 수들 중 소수의 개수를 출력한다.

예제 입력 

4
1 3 5 7

예제 출력 

3



C++풀이
#include <iostream>
using namespace std;
 
bool isPrime(int n) {
    if (n <= 1)
        return false;
    for (int i = 2; i*<= n; i++) {
        if (n%i == 0)
            return false;
    }
 
    return true;
}
 
 
int main() {
    int test, number, count = 0;
    cin >> test;
 
    for (int i = 0; i < test; i++) {
        cin >> number;
        if(isPrime(number))
            count++;
    }
 
    cout << count << endl;
    return 0;
}
 
cs

isPrime함수로 소수인지 판별
1이면 false 리턴
아니면 for문을 통해 나누어 떨어지는 수가 있는 경우 false리턴
아닌경우 true리턴


isPrime의 결과가 true이면 count++;


댓글

가장 많이 본 글