g0801_0900.s0829_consecutive_numbers_sum.Solution Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java21 Show documentation
Show all versions of leetcode-in-java21 Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
package g0801_0900.s0829_consecutive_numbers_sum;
// #Hard #Math #Enumeration #2022_03_24_Time_3_ms_(93.37%)_Space_41.1_MB_(38.00%)
/**
* 829 - Consecutive Numbers Sum\.
*
* Hard
*
* 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
**/
public class Solution {
public int consecutiveNumbersSum(int n) {
int ans = 0;
for (int i = 1; i * i <= n; i++) {
if (n % i > 0) {
continue;
}
int j = n / i;
if (i % 2 == 1) {
ans++;
}
if (j != i && j % 2 == 1) {
ans++;
}
}
return ans;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy