소수 찾기 : 문제 링크
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 완성. 소수는 1과 자기 자신으로만 나누어지는 수를 의미한다. (1은 소수가 아니다.)
제한 조건
- n은 2이상 1000000이하의 자연수이다.
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
vector<int> v(1000000, 0);
for(int i = 2; i <= n; ++i) {
if(v[i] == 0) {
answer++;
for(int j = 1; i * j <= n; ++j) {
v[i * j] = 1;
}
}
}
return answer;
}