Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 951 Bytes

File metadata and controls

41 lines (33 loc) · 951 Bytes

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