text: '''
  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 + 3
  
  Example 2:
  
  Input: 9
  Output: 3
  Explanation: 9 = 9 = 4 + 5 = 2 + 3 + 4
  
  Example 3:
  
  Input: 15
  Output: 4
  Explanation: 15 = 15 = 8 + 7 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5
  
  Note: 1 <= N <= 10 ^ 9.
  '''
  
  class Solution(object):
      def consecutiveNumbersSum(self, N):
          """
          :type N: int
          :rtype: int
          """
          res = 0
          n = 1
          while N * 1.0 / n > (n - 1) * 1.0 / 2:
              a = N * 1.0 / n - (n-1) * 1.0 / 2
              if int(a) == a:
                  res += 1
              n += 1
          return res
  