์ฐ์ ๊ธฐ๋ก ๐ช
[๋ฐฑ์ค1978]-์์ ์ฐพ๊ธฐ(C++) ๋ณธ๋ฌธ
https://www.acmicpc.net/problem/1978
1978๋ฒ: ์์ ์ฐพ๊ธฐ
์ฒซ ์ค์ ์์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. N์ 100์ดํ์ด๋ค. ๋ค์์ผ๋ก N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๋ 1,000 ์ดํ์ ์์ฐ์์ด๋ค.
www.acmicpc.net
์์ ๊ตฌํ๊ธฐ
2๋ณด๋ค ์์ผ๋ฉด ๋ฌด์กฐ๊ฑด ์์๊ฐ ์๋๋ฏ๋ก false๋ฅผ ๋ฆฌํด, ๊ทธ๊ฒ ์๋ ๊ฒฝ์ฐ 2๋ถํฐ ํด๋น ์์ ์ ๊ณฑ๊ทผ์ผ๋ก ๋๋ ๋ณด๋ฉฐ ํ๋ฒ์ด๋ผ๋ ๋๋์ด ๋จ์ด์ง๋ฉด ์์๊ฐ ์๋๋ผ๊ณ ํ์ ํ๋ ๋ฐฉ์์ ์ด์ฉํ์๋ค. ์ฝ๋๋ ์๋์ ๊ฐ๋ค. sqrt๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์ #include <cmath> ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
bool isPrime(int p) {
if (p < 2) {
return false;
}
double sq = sqrt(p);
for (int i = 2; i <= sq; i++) {
if (p % i == 0) {
return false;
}
}
return true;
}
์ ์ฒด ์ฝ๋
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
vector <int> num;
bool isPrime(int p) {
if (p < 2) {
return false;
}
double sq = sqrt(p);
for (int i = 2; i <= sq; i++) {
if (p % i == 0) {
return false;
}
}
return true;
}
int main() {
int N;
int a;
cin >> N;
while (N--) {
cin >> a;
num.push_back(a);
}
int count = 0;
for (int i = 0; i < num.size(); i++) {
if (isPrime(num[i])) {
count++;
}
}
cout << count;
}
'Problem Solving > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค 1463] -1๋ก๋ง๋ค๊ธฐ(C++)/๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ (0) | 2021.07.29 |
---|---|
[๋ฐฑ์ค 1620]-๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์(C++)/์ด์งํ์, ์ซ์์ฌ๋ถ (0) | 2021.07.28 |
[๋ฐฑ์ค2609]-์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์(C++)/์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (0) | 2021.07.18 |
[๋ฐฑ์ค1012] ์ ๊ธฐ๋ ๋ฐฐ์ถ(C++) (0) | 2021.07.08 |
[๋ฐฑ์ค1260]DFS์ BFS(C++) (0) | 2021.07.03 |