[알고리즘] 수들의 합5
구현 방식
- 2가지의 연속된 수라면 x + 1 , x +2 로 이루어질 수 있다.
- 3가지의 연속된 수라면 x + 1, x +2 , x +3 으로 이루어 질 수 있다.
- i 가지의 연속된 수라면 x + 1 , … , x + i로 이루어질 수 있다.
- 즉, 연속된 수 k 개로 이루어 지기 위해서는 N - sum(1,k) 를 k 개로 나눴을때 나머지가 0이어야한다.
void solution(int input) {
int count = 1;
int answer = 0;
for (int i = 2; i < input && (input - count) > 0; i++)
{
count += i;
if ((input - count) % i == 0)
answer++;
}
cout << answer;
}