Ispirato da questa domanda su Math.
Lasciare la fattorizzazione prima di un numero, n , essere rappresentato come P (n) = 2 una x 3 b x 5 c x ... .
(Usando x come simbolo di moltiplicazione.)
Quindi il numero di divisori di n può essere rappresentato come D (n) = (a + 1) x (b + 1) x (c + 1) ... .
Quindi, possiamo facilmente dire che il numero di divisori di 2n è D (2n) = (a + 2) x (b + 1) x (c + 1) ... ,
il numero di divisori di 3n è D (3n ) = (a + 1) x (b + 2) x (c + 1) ... ,
e così via.
Sfida:
Scrivi un programma o una funzione che utilizza queste proprietà per calcolare n , dati alcuni input divisori.
Ingresso:
Un insieme di numeri interi, chiamiamoli w, x, y, z , con tutte le seguenti definizioni:
- tutti gli ingressi sono maggiori di 1 -
w, x, y, z > 1
- x e z sono distinti -
x<>z
- x e z sono primi -
P(x)=x
,D(x)=2
eP(z)=z
,D(z)=2
- w è il numero di divisori di xn -
D(xn)=w
- y è il numero di divisori di zn -
D(zn)=y
Per il problema indicato nella domanda collegata, potrebbe essere un esempio di input (28, 2, 30, 3)
. Questo si traduce in D(2n)=28
e D(3n)=30
, con n=864
.
Produzione:
Un singolo intero, n , che soddisfa le definizioni e le restrizioni di input sopra riportate. Se più numeri corrispondono alle definizioni, genera il più piccolo. Se tale numero intero non è possibile, emettere un valore false .
Esempi:
(w, x, y, z) => output
(28, 2, 30, 3) => 864
(4, 2, 4, 5) => 3
(12, 5, 12, 23) => 12
(14, 3, 20, 7) => 0 (or some other falsey value)
(45, 13, 60, 11) => 1872
(45, 29, 60, 53) => 4176
Regole:
- Si applicano le regole standard del code-golf e le restrizioni sulle scappatoie .
- Si applicano le regole standard di input / output .
- I numeri di input possono essere in qualsiasi ordine: specificare nella risposta quale ordine si sta utilizzando.
- I numeri di input possono essere in qualsiasi formato adatto: spazio separato, un array, funzioni separate o argomenti della riga di comando, ecc. - a scelta.
- Allo stesso modo, se l'output su STDOUT, lo spazio bianco circostante, la nuova riga finale, ecc. Sono tutti facoltativi.
- L'analisi dell'input e la formattazione dell'output non sono le caratteristiche interessanti di questa sfida.
- Nell'interesse di una sana complessità e traboccamenti di numeri interi, il numero di sfida n avrà restrizioni tali che
1 < n < 100000
, ad esempio, non è necessario preoccuparsi di possibili risposte al di fuori di questo intervallo.