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

就是个数学题,不说了

 

class Solution {
    public int consecutiveNumbersSum(int N) {
        int ans = 0;
        for (int i = 1; i * (i - 1) / 2 < N; ++i)
            if ((N - i * (i - 1) / 2) % i == 0)
                ++ans;
        return ans;
    }
}

 

posted @ 2021-08-31 09:29  苗妙苗  阅读(90)  评论(0编辑  收藏  举报