829. Consecutive Numbers Sum
https://leetcode.com/problems/consecutive-numbers-sum/
Problem
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 + 3Example 2:
Input: 9
Output: 3
Explanation: 9 = 9 = 4 + 5 = 2 + 3 + 4Example 3:
Input: 15
Output: 4
Explanation: 15 = 15 = 8 + 7 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5Note: 1 <= N <= 10 ^ 9.
Solution
class Solution {
public:
int consecutiveNumbersSum(int N) {
int ans = 0;
for (int k = 1; k <= sqrt(2 * N); k++){
if ((N - ((k + 1) * k) / 2) % k == 0) ans++;
}
return ans;
}
};#math
Last updated
Was this helpful?