Número de erro de somas consecutivas?

Estou trabalhando em um programa que leva um número inteiro e encontra o número de combinações de somas consecutivas que o número inteiro tem:

O número 13 pode ser expresso como uma soma dos números inteiros positivos consecutivos 6 + 7. Quatorze podem ser expressos como 2 + 3 + 4 + 5, também uma soma dos números inteiros positivos consecutivos. Alguns números podem ser expressos como uma soma de números inteiros positivos consecutivos de mais de uma maneira. Por exemplo, 25 é 12 + 13 e também é 3 + 4 + 5 + 6 + 7.

Pesquisei e li que é o número de fatores ímpares menos um. Então, eu escrevi um programa que encontra o número de fatores ímpares e minha resposta ainda está errada em certos casos. Alguma visão?

O código parece funcionar bem, mas há uma falha devido ao tempo limite, provavelmente devido a um erro de otimização.

As restrições para um possível tamanho de entrada são de 1 a 10 ^ (12)

O código abaixo é copiado deresposta de alfasin abaixo:

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;


  static long consecutive(long num) {
    while (num % 2 == 0) num /= 2;
    return  consecutiveHelper(num);
}

public static long consecutiveHelper(long num) {
    return LongStream.rangeClosed(3, (num / 2)).parallel().filter(x -> x % 2 != 0).map(fn -> (num % fn == 0) ? 1 : 0).sum();
}
        public static void main(String[] args) throws IOException {
        Scanner in = new Scanner(System.in);
        final String fileName = System.getenv("OUTPUT_PATH");
        BufferedWriter bw = null;
        if (fileName != null) {
            bw = new BufferedWriter(new FileWriter(fileName));
        }
        else {
            bw = new BufferedWriter(new OutputStreamWriter(System.out));
        }

        int res;
        long num;
        num = Long.parseLong(in.nextLine().trim());

        res = consecutive(num);
        bw.write(String.valueOf(res));
        bw.newLine();

        bw.close();
    }
}

Isto é o que eu tenho atualmente

questionAnswers(2)

yourAnswerToTheQuestion