๋ฌธ์
์ฃผ์ด์ง ์ N๊ฐ ์ค์์ ์์๊ฐ ๋ช ๊ฐ์ธ์ง ์ฐพ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ์ค์ ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. N์ 100์ดํ์ด๋ค. ๋ค์์ผ๋ก N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๋ 1,000 ์ดํ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฃผ์ด์ง ์๋ค ์ค ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
4 1 3 5 7
์์ ์ถ๋ ฅ 1
3
ํ์ด
์์ ๊ด๋ จ ๋ฌธ์ ๋ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์ฌ์ฉํ๋ ์ต๊ด์ ๋ค์ฌ์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋๋ ๋ฌธ์ ์๋ค.
์๋ผํ ์คํ ๋ค์ค์ ์ฒด - ์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์
์ํค๋ฐฑ๊ณผ, ์ฐ๋ฆฌ ๋ชจ๋์ ๋ฐฑ๊ณผ์ฌ์ . ๋๋ฌ๋ณด๊ธฐ๋ก ๊ฐ๊ธฐ ๊ฒ์ํ๋ฌ ๊ฐ๊ธฐ ์ํ์์ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ ์์(์์ค)๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ณ ๋ ๊ทธ๋ฆฌ์ค ์ํ์ ์๋ผํ ์คํ ๋ค์ค๊ฐ ๋ฐ๊ฒฌํ์๋ค. ์๊ณ ๋ฆฌ์ฆ[ํธ์ง] 2๋ถํฐ ์์๋ฅผ ๊ตฌํ๊ณ ์ ํ๋ ๊ตฌ๊ฐ์ ๋ชจ๋ ์๋ฅผ ๋์ดํ๋ค. ๊ทธ๋ฆผ์์ ํ์ ์ฌ๊ฐํ์ผ๋ก ๋๋ฅธ ์๋ค์ด ์ฌ๊ธฐ์ ํด๋นํ๋ค. 2๋ ์์์ด๋ฏ๋ก ์ค๋ฅธ์ชฝ์ 2๋ฅผ ์ด๋ค. (๋นจ๊ฐ์) ์๊ธฐ ์์ ์ ์ ์ธํ 2์ ๋ฐฐ์๋ฅผ ๋ชจ๋ ์ง์ด๋ค. ๋จ์์๋ ์ ๊ฐ์ด๋ฐ 3์ ์์์ด๋ฏ๋ก ์ค๋ฅธ์ชฝ์ 3์ ์ด๋ค. (์ด
ko.wikipedia.org
์ฝ๋
#include <iostream>
#include <math.h>
using namespace std;
bool Eratos(int n);
int main() {
int n;
cin >> n;
int num, cnt = 0;
for (int k = 0; k < n; k++) {
cin >> num;
if (Eratos(num))
cnt++;
}
cout << cnt;
return 0;
}
bool Eratos(int n)
{
if (n <= 1) return false;
bool* PrimeArray = new bool[n + 1];
for (int i = 2; i <= n; i++)
PrimeArray[i] = true;
for (int i = 2; i <= sqrt(n); i++)
{
if (PrimeArray[i])
for (int j = i * i; j <= n; j += i)
PrimeArray[j] = false;
}
if (PrimeArray[n])
return true;
else
return false;
}
'๐ฅ๏ธ Computer > Algorithm Solution' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON] 1037๋ฒ : ์ฝ์ (0) | 2020.02.06 |
---|---|
[BAEKJOON] 1427๋ฒ : ์ํธ์ธ์ฌ์ด๋ (0) | 2020.02.06 |
[BAEKJOON] 1712๋ฒ : ์์ต๋ถ๊ธฐ์ (0) | 2020.02.03 |
[BAEKJOON] 1316๋ฒ : ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค (0) | 2020.02.03 |
[BAEKJOON] 1193๋ฒ : ๋ถ์์ฐพ๊ธฐ (0) | 2020.02.03 |