백준 algorithm
백준 1929 - 소수구하기
cosmohoo
2020. 3. 13. 14:19
반응형

=>에라토스테네스의 체를 사용할 줄 아는지를 묻는 문제이다.
=>j를 검색할 때 I*I부터 시작하니 자료형을 int를 써야하는 지, long을 써야하는지 long long을 써야하는지 정확히 봐야한다.
=>위의 문제에서 2번이나 틀렸다.
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int A, B;
cin>> A>>B;
vector<int> prime(B-A);
int pn=0;
vector<bool> check(B);
int limit=B;
for(long i=2; i<=limit; ++i)
{
if(check[i] == false)
{
if(i>=A)
{
prime[pn++]=i;
}
for(long long j=i*i; j<=limit; j+=i)
{
check[j]=true;
}
}
}
int index=0;
while(prime[index]!=0)
{
cout<<prime[index++]<<'\n';
}
return 0;
}
반응형