문제
소스코드
#include<iostream>
#include<vector>
std::vector<int>v;
int g_count;
void GetPrimeNumber(int n);
int main() {
int n;
std::cin >> n;
for (int i = 0; i < n; ++i) {
int number;
std::cin >> number;
v.emplace_back(number);
}
for (auto i : v)
GetPrimeNumber(i);
std::cout << g_count;
}
void GetPrimeNumber(int n) {
if (n < 2)
return;
else if (n == 2) {
++g_count;
return;
}
for (int i = 2; i < n; ++i) {
if (n % i == 0)
return;
}
++g_count;
}
후기
소수: 1과 자기 자신으로밖에 나누어 떨이지지 않는 1 이외의 정수
소수의 특징을 알면 어렵지 않게 풀 수 있는 문제이다. 물론 지금은 요구하는 크기가 적어서 문제가 없지만 큰 수는
에라토스테네스의 체 라는 것을 사용해야 한다. 이름만 알고 쓰는 법은 모르기 때문에 나중에 공부해야겠다.
출처 및 레퍼런스
문제 링크:https://www.acmicpc.net/problem/1978
'온라인 코딩 > 수학(Math)' 카테고리의 다른 글
[백준] 4504번 배수 찾기 (0) | 2020.04.11 |
---|---|
[백준] 2581번 소수 (0) | 2020.04.03 |
[백준] 1712번 순익분기점 (0) | 2020.02.07 |
[백준] 10539번 수빈이와 수열 (0) | 2020.01.27 |
[백준] 4153번 직각삼각형 (1) | 2019.12.16 |