본문 바로가기

C++/BAEKJOON

[C++] BAEKJOON (1978) 소수 찾기

반응형

문제

주어진 수 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

반응형