#include <string>
#include <vector>
#include <cmath>
using namespace std;
int solution(int left, int right)
{
int answer = 0;
for (int i = left; i <= right; i+)
{
int root = (int)sqrt(i); // sqrt(i) : i의 제곱근을 구함
// i의 제곱근 = 약수의 개수가 홀수인지 짝수인지 판단하는 기준
if (root * root == i) // root를 제곱했을 때 다시 i가 나오면 i는 제곱수
{
answer -= i; // 제곱수는 약수의 개수가 홀수이므로 빼기
}
else
{
answer += i; // 제곱수가 아니면 약수의 개수가 짝수이므로 더하기
}
}
return answer;
}
sqrt(i)
i의 제곱근을 구한다
제곱근은 약수의 개수가 홀수인지, 짝수인지 판단하는 기준
그걸 int형으로 받아서 root에 저장
root * root == i
root를 제곱했을 때 다시 i가 나오면 i는 제곱수
(예) 9의 제곱근은 3
3 * 3 = 9
if 조건문으로 약수의 개수가 홀수이면 빼고 짝수이면 더한다