그냥 수학입니다.
a부터 m개의 연속된 자연수들을 더하면 n을 만들 수 있다고 합시다.
그 m개의 자연수들에서 전부 a씩 빼면
0, 1, 2, 3, ..., m-1 이 될 것이고 그 합은 m(m-1)/2 이므로
n = am + m(m-1)/2 입니다.
즉, 어떤 자연수 m을 골랐는데
1부터 m까지의 합을 n에서 뺀 결과가 0 또는 m의 양의 배수이면 됩니다.
위 코드의 i 변수로 m값의 후보를 찾는 것이고 1부터 i까지의 합이 sum입니다.
choko100 1년 전
많은 분들이 비슷한 방법으로 푸신 것 같은데, 코드만 보고는 풀이 방법이 이해가 가지 않아서 질문을 드립니다.
샘플로 https://www.acmicpc.net/source... 의 코드를 붙여넣었습니다.
9번째 라인의 (n - sum) % i == 0 이 어떻게 답을 알 수 있게 되는 것인가요?
혹시 이러한 방법을 부르는 명칭이 따로 있을까요?