829. Consecutive Numbers Sum
Đề Bài
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
Lời Giải
Python
0829-consecutive-numbers-sum.py
class Solution:
def consecutiveNumbersSum(self, n: int) -> int:
ans, x = 0, 1
while x * (x + 1) // 2 <= n:
if (n - x * (x + 1) // 2) % x == 0:
ans += 1
print(x)
x += 1
return ans