Skip to content

Latest commit

 

History

History

0829-Consecutive Numbers Sum

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

829. Consecutive Numbers Sum

Given an integer n, return the number of ways you can write n as the sum of consecutive positive integers.

Example 1:

Input: n = 5
Output: 2
Explanation: 5 = 2 + 3

Example 2:

Input: n = 9
Output: 3
Explanation: 9 = 4 + 5 = 2 + 3 + 4

Example 3:

Input: n = 15
Output: 4
Explanation: 15 = 8 + 7 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5

Constraints:

  • 1 <= n <= 109

Solutions (Python)

1. Solution

class Solution:
    def consecutiveNumbersSum(self, n: int) -> int:
        ret = 0

        for x in range(1, int((2 * n) ** .5) + 1):
            if (n + (x - 1) * x // 2) % x == 0 and (n + (x - 1) * x // 2) // x > 0:
                ret += 1

        return ret