약수의 개수와 덧셈

NJW·2021년 8월 24일
0

코테

목록 보기
75/170

들어가는 말

약수의 갸수가 짝수이면 그 값을 더해주고 홀수이면 빼주는 문제다.

코드 설명

처음에는 벡터로 풀려 했으나, 가만 보니 벡터를 사용하지 않아도 충분히 풀 수 있는 문제였다.
이중 반복문을 사용할 건데, 첫 반복문은 left부터 right까지 가는 반복문. 두 번재 반복문은 1부터 해당되는 값까지 나눠서 약수를 보는 반복문이다. 만일 나머지가 0이라 약수이면 count를 하나씩 더해준다. 두 번째 반복문을 빠져 나와 약수의 개수(count)가 홀수이면 answer를 값만큼 빼주고 짝수이면 answer를 값만큼 더해준다.
그리고!!! count는 0으로 초기화해서 다음 값을 준비한다.

코드

#include <string>
#include <vector>

using namespace std;

int solution(int left, int right) {
    int answer = 0;
    int count = 0;

    for(int i=left; i<=right; i++){
        for(int j=1; j<=i; j++){
            if(i%j == 0){
                count++;
            }
        }
        count%2 ? answer = answer-i : answer = answer+i;
        count = 0;
    }
    return answer;
}
profile
https://jiwonna52.tistory.com/

0개의 댓글