Alcuni numeri come: 6, 12, 20, 30, 42, 56, 60, 90, 120 e così via come possono essere espressi come un prodotto di numeri interi consecutivi come mostrato di seguito.
6 = 2 * 3
12 = 3 * 4
30 = 5 * 6
60 = 3 * 4 * 5
90 = 9 * 10
120 = 4 * 5 * 6
Scrivi un programma o una funzione che emetta un elenco di numeri interi consecutivi il cui prodotto è uguale al numero specificato.
Esempi di numeri non adatti a questa logica sono:
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)
Si prega di notare che per il caso di 2 = 2 * 1 , non lo consideriamo come un risultato valido, poiché un numero intero moltiplicato per 1 fornisce lo stesso risultato. Per questa domanda, considereremmo solo numeri interi> = 2 nel prodotto.
Ingresso
Un numero intero positivo a 32 bit valido. Può provenire dall'input standard, da un argomento di funzione, ecc.
Produzione
Un elenco di numeri interi consecutivi> = 2 (in ordine crescente o decrescente). Se ci sono diverse combinazioni di numeri interi consecutivi, basta fornirne uno esempio farà. Se offri di più, va bene.
restrizioni
Il funzionamento del codice dovrebbe richiedere un tempo ragionevole (<5 minuti) su un computer standard per tutti gli input validi (numeri interi positivi a 32 bit). Se esiste un prodotto intero consecutivo, il codice dovrebbe generare uno o più entro il limite di tempo. Altrimenti, il codice dovrebbe terminare senza output entro il limite di tempo.
Questo è il codice golf, quindi vince il codice più breve in byte.
30=5*6.