티스토리 뷰

백준

백준 소스코드 [C++] 1978 소수 찾기

Hani_Levenshtein 2020. 8. 27. 19:24

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

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

www.acmicpc.net

백준 소스코드 [C++] 1978 소수 찾기

#include <iostream>
#include <utility>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	int n;
	cin >> n;
	int* arr = new int[n];
	bool* ret = new bool[n];
	for (int i = 0;i < n;i++) {
		cin >> arr[i];
		ret[i] = true;
	}
	for (int i = 2;i <= 33;i++) {
		for (int j = 0;j < n;j++) {
			if (ret[j] == false || arr[j]==i) continue;
			if (arr[j] == 1) ret[j] = false;
			if (arr[j] == 2) continue;
			if (arr[j] % i == 0) ret[j] = false;
		}
	}
	cout << count(ret, ret + n, true);
	return 0;
}
댓글