https://www.acmicpc.net/problem/1978
아이디어
정수 N이 있다면, 2~N-1까지의 수를 N에 나누고, 그 나머지가 0인 수가 하나라도 있다면 소수가 아닌 걸로 판별한다.
코드
#include <iostream>
#include <vector>
using namespace std;
bool isDec(int num) {
bool result = true;
if (num == 1) return false;
for (int i = 2; i < num; i++) {
if (num % i == 0) return false;
}
return result;
}
int main()
{
int N;
cin >> N;
vector<int> v(N);
for (int i = 0; i < N; i++) {
cin >> v[i];
}
int cnt = 0;
for (const int& i : v) {
if (isDec(i)) {
cnt++;
}
}
cout << cnt << "\n";
}
'알고리즘 > BOJ' 카테고리의 다른 글
백준 14889: 스타트와 링크 - X (0) | 2022.05.30 |
---|---|
백준 1037: 약수 (0) | 2022.05.26 |
백준 9095: 1, 2, 3 더하기 (0) | 2022.02.09 |
백준 1182: 부분 수열의 합 (0) | 2022.02.08 |
백준 6603 : 로또 (0) | 2021.06.23 |