백준 algorithm
백준 2960 - 에라토스테네스의 체
cosmohoo
2020. 7. 4. 11:50
반응형
=> 에라토스테네스의 체를 사용할 줄 아는지 묻는 문제입니다.
=> 실제로 소수를 구하는 것이 아닌 지워지는 것을 구하는 것이기 때문에 소수이더라도 지워진다고 생각하면 편합니다.
=> check 배열을 사용하여 문제를 해결할 수 있습니다.
https://codingham.tistory.com/32
백준 2581 - 소수
에라토스테네스의 체를 사용하면 풀 수 있는 문제이다. 기본적인 알고리즘은 쉽게 짰었는데 제대로된 예외처리를 못해서 5번 넘게 틀렸다.... 2, 3, 5등은 소수인데 이 수들까지 소수가 아닌 것으�
codingham.tistory.com
=> 이전에 푼 문제와 거의 비슷한 문제입니다.
<code>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
bool check[1001]= {false};
int N, K;
cin >> N >> K;
int pn =0;
for(long i=2; i<=N; ++i)
{
if(check[i] == false)
{
for(long long j=i; j<=N; j+=i)
{
if(check[j] == false)
{
check[j]=true;
K--;
if(K == 0)
{
cout<<j<<'\n';
return 0;
}
}
}
}
}
return 0;
}
반응형