Ispirato da questa voce Numberphile
sfondo
I numeri di distanza del cubo di un intero n sono definiti qui come l'insieme di numeri interi che sono x³ di distanza per una data x . Per un semplice esempio, con n=100
e x=2
, i numeri della distanza del cubo sono {92,108}
.
Questo può essere esteso in un set più grande semplicemente variando x . Con x ∈ {1,2,3,4}
e lo stesso n=100
, abbiamo il set risultante {36,73,92,99,101,108,127,164}
.
Definiamo CD (n, x) come l'insieme di tutti i numeri interi n ± z³
con z ∈ {1,2,3,...,x}
.
Ora possiamo concentrarci su alcune delle proprietà speciali di questi numeri di distanza del cubo . Delle molte proprietà speciali che i numeri possono avere, le due proprietà che ci interessano qui sono la primalità e i divisori primi .
Per il precedente esempio CD (100,4) , notare che 73, 101, 127
sono tutti primi. Se rimuoviamo quelli dal set, ci rimane {36,92,99,108,164}
. Tutti i divisori primi di questi numeri sono (in ordine) {2,2,3,3,2,2,23,3,3,11,2,2,3,3,3,2,2,41}
, il che significa che abbiamo 5 divisori primi distinti {2,3,23,11,41}
. Possiamo quindi definire che il CD (100,4) ha la corvità 1 di 5
.
La sfida qui è scrivere una funzione o un programma, nel minor numero di byte, che emetta la corvità di un dato input.
Ingresso
- Due numeri interi positivi
n
ex
, in qualsiasi formato conveniente.
Produzione
- Un singolo numero intero che descrive la corvità dei due numeri di input, quando calcolato con CD (n, x) .
Regole
- L'ingresso / uscita può essere tramite qualsiasi metodo adatto .
- Si applicano le restrizioni standard sulle scappatoie .
- Per facilità di calcolo, si può presumere che i dati di input siano tali che il CD (n, x) avrà solo numeri positivi nell'insieme (cioè, nessun CD (n, x) avrà mai numeri negativi o zero).
- La funzione o il programma dovrebbe essere in grado di gestire i numeri di input in modo da
n + x³
adattarsi al tipo di dati integer nativo della tua lingua. Ad esempio, per un tipo intero con segno a 32 bit,n + x³ < 2147483648
sono possibili tutti i numeri di input con .
Esempi
n,x - output
2,1 - 0 (since CD(2,1)={1,3}, distinct prime divisors={}, ravenity=0)
5,1 - 2
100,4 - 5
720,6 - 11
Le note
1 - Così chiamato perché non ci interessa l' identità cardinale del set, ma un diverso tipo di uccello. Dato che abbiamo a che fare con divisori "comuni", ho scelto di usare il corvo comune .
100,4
è l'esempio che l'OP spiega nella sezione Background. Il tuo errore sembra essere che dovresti considerare tutto 1..x
, quindi [1,2,3,4]
per questo caso.
100,4
5? I numeri di distanza del cubo di quell'insieme sono36,164
e i fattori primi di quell'insieme sono2,3,41
(poiché i fattori di quell'insieme sono{2, 3, 4, 6, 9, 12, 18, 36}
e{2, 4, 41, 82, 164}
, rispettivamente). Pertanto, l'uscita dovrebbe essere 3, non 5.