Некоторые числа, такие как: 6, 12, 20, 30, 42, 56, 60, 90, 120 и т. Д., Могут быть выражены как произведение последовательных целых чисел, как показано ниже.
6 = 2 * 3
12 = 3 * 4
30 = 5 * 6
60 = 3 * 4 * 5
90 = 9 * 10
120 = 4 * 5 * 6
Напишите программу или функцию, которая выводит список последовательных целых чисел, произведение которых равно указанному числу.
Примеры чисел, которые не подходят для этой логики:
99 = 9 * 11 (Product of non-consecutive numbers)
121 = 11 * 11 (Same numbers)
2 = 1 * 2 (Product of itself and 1)
13 = 13 (Product of only one number)
Обратите внимание, что в случае 2 = 2 * 1
, мы не считаем его действительным результатом, поскольку целое число, умноженное на 1, дает тот же результат. Для этого вопроса мы будем рассматривать только целые числа> = 2 в произведении.
вход
Допустимое 32-разрядное положительное целое число. Может быть из стандартного ввода, аргумента функции и т. Д.
Выход
Список последовательных целых чисел> = 2 (в порядке возрастания или убывания). Если есть несколько комбинаций последовательных целых чисел, просто предоставьте один экземпляр. Если вы предоставите больше, это нормально.
ограничения
Код должен занимать разумное количество времени (<5 минут) для запуска на стандартном компьютере для всех допустимых входных данных (положительные 32-разрядные целые числа). Если есть последовательный целочисленный продукт, код должен вывести один или несколько в течение срока. Иначе, код должен завершиться без вывода в течение срока.
Это код гольф, поэтому выигрывает самый короткий код в байтах.
30=5*6
.