250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++)소수 찾기 본문
728x90
반응형
소수 찾는 기본적인 문제..!
종종 알고리즘 문제를 풀다보면 나오는 것 같다..!
그래서 풀이 형태를 외워두는 게 나을 것 같다..!
전역 변수로 1000001 크기의 bool 형태 배열을 선언해준다.
2부터 n까지 for문을 돌면서 prime[i]가 false이면 소수이고,
소수의 배수는 소수가 아니기 때문에 true로 바꿔준다.
'에라토스테네스의 체' 알고리즘을 사용했다.
에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 수학에서 에라토스테네스의 체는 소수(소수)를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색) 자기 자신을 제외한 2의 배수를 모두 지운다. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초
ko.wikipedia.org
#include <string>
#include <vector>
#include <iostream>
using namespace std;
bool prime[1000001] = {false, };
int solution(int n) {
int answer = 0;
for(int i = 2; i <= n; i++)
{
if(prime[i] == false)
{
answer++;
prime[i] = true;
for(int j = i; j <= n; j += i)
prime[j] = true;
}
}
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > 1단계' 카테고리의 다른 글
(프로그래머스 c++)문자열을 정수로 바꾸기 (0) | 2020.04.24 |
---|---|
(프로그래머스 c++)수박수박수박수박수박수? (0) | 2020.04.24 |
(프로그래머스 c++)서울에서 김서방 찾기 (0) | 2020.04.24 |
(프로그래머스 c++)문자열 다루기 기본 (0) | 2020.04.24 |
(프로그래머스 c++)문자열 내림차순으로 배치하기 (0) | 2020.04.23 |