C++:: 프로그래머스 < 약수의 개수와 덧셈 >

jahlee·2023년 6월 11일
0

프로그래머스_Lv.1

목록 보기
35/75
post-thumbnail

문제풀이의 핵심적인 요소는 약수의 개수를 구하는 부분이다. 간단한 문제이다.

#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;
}

0개의 댓글