알고리즘 문제/BOJ
1978번 소수 찾기
parkit
2019. 4. 5. 22:05
728x90
반응형
https://www.acmicpc.net/problem/1978
에라토스테네스의 체이다.
살짝 잊었나 보다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <iostream> #include <queue> #include <stack> #include <cstdio> #include <vector> #include <cstring> #include <string> #include <math.h> #include <algorithm> #include <map> #include <set> #include <sstream> #include <tuple> #pragma warning(disable:4996) #pragma comment(linker, "/STACK:336777216") using namespace std; bool prime[1001] = { true, }; void pn() { int sq = sqrt(1000); for (int i = 2; i <= sq; i++) { for (int j = 2 * i; j <= 1000; j += i) { if (!prime[i]) continue; prime[j] = false; } } } int main(void) { int n = 0, ans = 0, number = 0; memset(prime, true, sizeof(prime)); pn(); prime[1] = false; scanf("%d", &n); while (n--) { scanf("%d", &number); if (prime[number]) ++ans; } printf("%d\n", ans); return 0; } | cs |
728x90
반응형