반응형
1. 문제
약수의 갯수에 따라 더하거나 뺀다.
2. 설계
약수의 갯수는 보통 짝수이다. 홀수가 되는 경우는 제곱수가 되는 경우이다.
제곱수는 나누기 연산을 한 결과가 나누기 대상과 같은 경우이다.
3, 알고리즘
4. 구현
#include <bits/stdc++.h>
using namespace std;
bool squareNumber(int n){
for(int i=1; i*i<=n; i++){
if((n%i)==0){
if((n/i)==i) return true; //제곱수라면
}
}
return false; // 아니라면
}
int solution(int left, int right) {
int answer = 0;
for(int i=left; i<right+1; i++){
if(squareNumber(i)==true) answer-=i;
else answer+=i;
}
return answer;
}
반응형
'PS > 프로그래머스' 카테고리의 다른 글
프로그래머스 평균구하기 python (0) | 2021.05.31 |
---|---|
프로그래머스 다트게임 cpp (0) | 2021.05.28 |
프로그래머스 비밀지도 cpp (0) | 2021.05.24 |
프로그래머스 실패율 cpp (0) | 2021.05.23 |
프로그래머스 로또의 최고 순위와 최저 순위 cpp (0) | 2021.05.23 |
댓글