코딩 연습!

약수의 개수의 덧셈

꽃달린감나무 2022. 1. 27. 14:06
728x90
  • 약수의 개수와 덧셈
문제 설명

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


제한사항
  • 1 ≤ left  right ≤ 1,000

입출력 예leftrightresult
13 17 43
24 27 52
class Solution {
    public int solution(int left, int right) {
        int answer = 0;
        
        for(int i = left; i <= right; i++){
            int distinguish = 0;  //약수의 갯수가 홀수,짝수인지 판별하는 변수
            for(int j = 1; j <= i; j++){
                if(i % j == 0)
                    distinguish++;//약수를 발견할 때마다 1씩 증가
            }
            if(distinguish%2 == 0) //홀수, 짝수인지 판별
                answer += i;
            else
                answer -= i;
            
        }
        return answer;
    }
}​
쉽게 풀 수 있는 기본적인 문제였다.
728x90