[Programers] 약수의 개수와 덧셈 (C++)

Algorithm|2021. 11. 29. 16:36
반응형
 

코딩테스트 연습 - 약수의 개수와 덧셈

두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주

programmers.co.kr

제곱 수는 약수의 개수가 홀수 개라는 성질을 이용
int solution(int left, int right) 
{
    int answer = 0;
    
    for(int i=left ;i<=right; i++)
    {
        if(sqrt(i) - int(sqrt(i)) == 0)
            answer -= i;
        else
            answer += i;
    }
    
    return answer;
}
반응형

댓글()