Back to all solutions
#829 - Consecutive Numbers Sum
Problem Description
Given an integer n, return the number of ways you can write n as the sum of consecutive positive integers.
Solution
/**
* @param {number} n
* @return {number}
*/
var consecutiveNumbersSum = function(n) {
let result = 0;
for (let k = 1; k < Math.sqrt(2 * n); k++) {
const numerator = n - (k * (k - 1)) / 2;
if (numerator % k === 0) {
const startingNum = numerator / k;
if (startingNum > 0) {
result++;
}
}
}
return result;
};