829. Consecutive Numbers Sum

Given a positive integer N, how many ways can we write it as a sum of consecutive positive integers?

Example 1:

Input: 
5

Output: 
2

Explanation: 
5 = 5 = 2 + 3

Example 2:

Input: 
9

Output: 
3

Explanation: 
9 = 9 = 4 + 5 = 2 + 3 + 4

Example 3:

Note:1 <= N <= 10 ^ 9.

Thoughts:

  1. If N = i * j, then we want to find i consecutive numbers with average j For example, 15 = 3 * 5, then 4 + 5 + 6, 3 numbers with average 5; and 15 = 5 * 3, then 1 + 2 + 3 + 4 + 5, 5 numbers with average 3 But one constraint is that i must be odd, since if i is even k + 1, k + 2, ... k + i. The average = (ik + (1 + i)*i/2) / i = k + (1 + i) / 2, cannot be an integer. (Original Post)

  2. Simple Code, but obscure logic (Original Post)

Code 1

Code 2

Last updated

Was this helpful?