Деякі числа, такі як: 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
.