본문 바로가기

Algorithm

[수학 2 단계] 백준 1978번 소수 찾기

반응형

문제

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

입력

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

출력

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

 

1 제외 

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<queue>
#include<map>
using namespace std;

int N;
int arr[1000];
int main()
{
	
	cin >> N;
	for (int i = 0; i < N; i++)
	{
		cin >> arr[i];
	}

	int count = 0;
	for (int i = 0; i < N; i++)
	{
		bool flag = true;

		if (arr[i] == 1)
		{
			flag = false;
			continue;
		}

		for (int j = 2; j < arr[i]; j++)
		{
			if (!(arr[i] % j))
			{
				flag = false;
				break;
			}
		}
		if (flag)
		{
			count++;
		}
	}
	cout << count << endl;

	return 0;//정상종료시 반드시 0을 리턴해야합니다.
}
반응형