Inspirado en esta entrada de Numberphile
Antecedentes
Los números de distancia de cubo de un entero n se definen aquí como el conjunto de enteros que están a una distancia de x³ para una x dada . Para un ejemplo simple, con n=100
y x=2
, los números de distancia del cubo son {92,108}
.
Esto se puede extender a un conjunto más grande simplemente variando x . Con x ∈ {1,2,3,4}
y lo mismo n=100
, tenemos el conjunto resultante {36,73,92,99,101,108,127,164}
.
Definamos CD (n, x) como el conjunto de todos los enteros n ± z³
con z ∈ {1,2,3,...,x}
.
Ahora podemos centrarnos en algunas de las propiedades especiales de estos números de distancia de cubo . De las muchas propiedades especiales que los números pueden tener, las dos propiedades que nos interesa aquí son primalidad y divisores primos .
Para el ejemplo de CD anterior (100,4) , tenga en cuenta que 73, 101, 127
todos son primos. Si los eliminamos del conjunto, nos quedamos con {36,92,99,108,164}
. Todos los divisores primos de estos números son (en orden) {2,2,3,3,2,2,23,3,3,11,2,2,3,3,3,2,2,41}
, lo que significa que tenemos 5 divisores primos distintos {2,3,23,11,41}
. Por lo tanto, podemos definir que CD (100,4) tiene ravenidad 1 de 5
.
El desafío aquí es escribir una función o programa, en la menor cantidad de bytes, que genere la escasez de una entrada dada.
Entrada
- Dos enteros positivos
n
yx
, en cualquier formato conveniente.
Salida
- Un entero único que describe la raveza de los dos números de entrada, cuando se calcula con CD (n, x) .
Reglas
- La entrada / salida puede ser a través de cualquier método adecuado .
- Se aplican restricciones de escapatoria estándar .
- Para facilitar el cálculo, puede suponer que los datos de entrada serán tales que CD (n, x) solo tendrá números positivos en el conjunto (es decir, ningún CD (n, x) tendrá números negativos o cero).
- La función o el programa deberían poder manejar los números de entrada para que se
n + x³
ajusten al tipo de datos de entero nativo de su idioma. Por ejemplo, para un tipo entero con signo de 32 bits, todos los números de entrada conn + x³ < 2147483648
son posibles.
Ejemplos
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
Notas al pie
1 - Llamado así porque no estamos interesados en la cardinalidad del conjunto, sino en un tipo diferente de ave. Como estamos tratando con divisores "comunes", elegí usar el cuervo común .
100,4
es el ejemplo que el OP explica en la sección Fondo. Su error parece ser que debe considerar todo 1..x
, así que [1,2,3,4]
para este caso.
100,4
rinde 5? Los números de distancia de cubo de ese conjunto son36,164
, y los factores primos de ese conjunto son2,3,41
(ya que los factores de ese conjunto son{2, 3, 4, 6, 9, 12, 18, 36}
y{2, 4, 41, 82, 164}
, respectivamente). Por lo tanto, la salida debe ser 3, no 5.