반응형
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
첫 줄에 수의 개수 N이 주어진다. (N ≤ 100)
다음으로 1,000 이하의 자연수인 N 개의 수가 주어진다.
주어진 수들 중 소수의 개수를 출력한다.
결과
#include<iostream>
int main() {
using namespace std;
int N, num, cnt = 0;
cin >> N;
for (int i = 0; i < N; ++i) {
cin >> num;
if (num == 2) ++cnt; // 숫자 2는 소수이다.
for (int j = 2; j < num; ++j) { // 2 이상의 자연수로 나누어준다. (소수 찾기)
if (num % j == 0) { // 주어진 수(num)가 임의의 수(j)로 나누어지면 소수가 아니다.
break;
}
if (j == num - 1) { // 주어진 수(num)가 '임의의 수(j)-1'까지 나눈 후, 나누어지지 않으면 소수이다.
++cnt;
}
}
}
cout << cnt;
return 0;
}
출처: BAEKJOON
반응형
'C++ > BAEKJOON' 카테고리의 다른 글
[C++] BAEKJOON (11653) 소인수분해 (0) | 2021.12.03 |
---|---|
[C++] BAEKJOON (2581) 소수 (0) | 2021.11.29 |
[C++] BAEKJOON (2775) 부녀회장이 될테야 (0) | 2021.07.29 |
[C++] BAEKJOON (2869) 달팽이는 올라가고 싶다 (0) | 2021.04.15 |
[C++] BAEKJOON (2941) 크로아티아 알파벳 (0) | 2020.12.02 |