All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0801_0900.s0829_consecutive_numbers_sum.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
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