코딩테스트/프로그래머스
[Level 1][C++] 소수의 합
MJ.Lee
2024. 10. 10. 22:38
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
long long solution(int N) {
long long sum = 0;
bool *arr = new bool[N + 1];
for (int i = 0; i < N + 1; i++)
arr[i] = true;
for (int i = 2; i <= sqrt(N); i++)
{
if (!arr[i])
continue;
for (int j = i * i; j <= N; j += i)
arr[j] = false;
}
for (int i = 2; i < N + 1; i++)
if (arr[i])
sum += i;
long long answer = sum;
return answer;
}