본문 바로가기

Programming/Algorithm (C++)

[프로그래머스 1단계] c++ :: 소수 찾기 (에라토스테네스의 체)

#include <string>
#include <vector>

using namespace std;
int a[1000001]={0, };
int solution(int n) {
    int answer = 0;
    
    for(int i=2; i<=n; i++)
        a[i]=1;
    
    for(int k=2; k<=n/2; k++){
        for(int j=2; j*k<=n; j++){
            a[k*j]=0;
            
        }
    }
    
    for(int z=2; z<=n; z++){
        if(a[z]==1){
            answer++;
        }
    }
        
    
    
    
    
    return answer;
}