문제풀이의 핵심적인 요소는 약수의 개수를 구하는 부분이다. 간단한 문제이다.
#include <string>
#include <vector>
using namespace std;
int solution(int left, int right)
{
int answer = 0;
for(left; left<=right;left++)
{
int cnt = 0;//약수의 개수
for(int i=1;i*i<=left;i++)
{//약수의 개수 구하는 방법
if (left % i != 0) continue;//안나누어 떨어진다면
if(i*i==left) cnt += 1;//제곱근이면
else cnt += 2;//이외
}
if (cnt % 2 == 0) answer += left;
else answer -= left;
}
return answer;
}