*소수의 합(기타) 2부터 N까지의 모든 소수의 합을 구하기. #include <iostream> using namespace std; long long solution(int N) { long long answer = 0; vector nums; nums.assign(N + 1, 1); // N + 1 만큼의 배열 개수를 1의 값으로 채운다. for(int i = 2; i <= N; i++) { if(nums[i] != 0) { for(int j = i * 2; j <= N; j += i) nums[j] = 0; } } for(int i = 2; i <= N; i++) { if(nums[i] != 0) answer += i; } return answer; } | cs |
::public/코딩테스트 풀이