본문 바로가기

온라인 코딩/수학(Math)

[백준] 1978번 소수 찾기

 

 

 

 

 

문제

 

소스코드

#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