투 포인터와 조건문을 적절히 활용하면 문제를 해결할 수 있다.
①. 만약 N보다 작다면 포인터의 끝 값을 1만큼 증가한다.
②. 만약 값이 N이라면 포인터의 끝 값을 1만큼 증가시키고 개수를 증가시켜준다.
③. 만약 값이 N보다 크다면 포인터의 시작값을 1만큼 증가한다.
N = int(input())
p1 = p2 = 1
result = 1
cnt = 0
while p2 != N:
if result < N:
p2 += 1
result += p2
elif result > N:
result -= p1
p1 += 1
else:
cnt += 1
p2 += 1
result += p2
print(cnt+1)